хорошо, я знаю, что название может звучать мисс лидирующий, но терпите меня ...
У меня есть следующий код, который я использую с намерением повторно использовать пару узлов для создания простого диалога да / нет:
var myDialog = function(e) {
if(myDialog.dialog === undefined){
var container = $('<div><h2>Are you sure you want to delete this Item?</h2></div>'),
yesBtn = $('<input type="button" value="Yes" id="yesBtn"/>').appendTo(div),
noBtn = $('<input type="button" value="No" id="noBtn"/>').appendTo(div);
myDialog.dialog = container;
$('#yesBtn').on({ click: function(e) { console.log('Yes'); } } );
$('#noBtn').live('click', function(e) { console.log('No'); });
}
//I am using a third party lib called facebox to create the showbox
$.facebox(myDialog.dialog);
};
Затем эта функция используется кнопкой, которая при нажатии отображает диалоговое окно (правильно каждый раз), и при первом нажатии кнопки «да / нет» работают правильно, но когда диалоговое окно отображается снова, нет из двух событий пожары.
Эта проблема решается, если я использую live вместо на , но я читал, что хорошей практикой является запуск используя последнее вместо первого.
Любые комментарии будут очень полезны!
Заранее спасибо.