Сообщение от Rise
|
TepKuH, расово верным не выглядит писать js в атрибутах html элементов (а при наличии jquery вообще бред), click позволит полностью разделить js и html.
|
Всё верно, это не выглядит правильным по моему ИМХО. Потому я предложил три варианта (какие смог выдумать с моими знаниями JS) решения задачи где я пишу в атрибутах HTML и не пишу в атрибутах HTML.
Но ведь конструкция
$( "#dialog-confirm" ).data("itemid", item.id).show();
Не говорит о том что я что то пишу в атрибуты элементов HTML. Или говорит?
Предложенная вами конструкция на сколько я понял должна выглядит так:
var a;
function showModal(item) {
var id = $(item).attr("id");
a = id;
$( "#dialog-confirm" ).show();
}
function sendData(a) {
console.log(a);
//Отправка данных на сервер-сайд
return true;
}
$("button[name=continue]").on('click',function(){
sendData(a);
});
});
Она конечно выглядит максимально правильной, так как полностью разделяет верстку HTML и логику. Но есть одно НО, это держать глобальную переменную. При наличии одного модального окна, эт конечно не проблема, но у меня модальных окон на странице порядка 15 штук. Что выглядит ужасно и трудно понять какая переменная относится к какому модальному окну.
Но ведь предложная конструкция господина "Яростный Меч" так же разделяет верстку и логику и позволят не держать глобальной переменной в коде JS и в HTML
Или я не прав?