Так как окно подтверждения jQuery выглядит потрясающе, я подумал, что нам нужно сделать его действительно полезным, сделав возможным его использование вместе со всеми другими событиями кликов и встроенными обработчиками без суеты и уродливых хаков, таких как перенаправление URL браузера.
Итак, я придумал эту РЕДАКТИРОВАТЬ новую версию jQuery подтверждает идею диалога для захвата событий щелчка, прежде чем onclick может сработать
Я полагаю, что при доступе к eventHandler изэтот объект уже поздно обновлять встроенные обработчики.Или есть способ?
Код:
$(function(){
$(".needsFancyConfirm").each(function(index, ele){
ele=$(ele);
ele._onclick=ele.attr("onclick");
ele.attr("onclick", "return false;"); //preventDefault would do the same imho
ele.bind("click.foo",function(){
$("#dialog").dialog({
bgiframe: true,
height: 300,
modal: true,
buttons: {
SubmitFormWithAllOldOnclickEvents: function() {
$(this).dialog('close');
ele.attr("onclick",ele._onclick);
ele.unbind("click", "click.foo");
console.info(ele.attr('onclick') + " <-- just to make sure what is written in Onclick, now we will execute it");
console.info($("#coolIdea")[0].onclick() + " <-- this returns false - it should return the set old onclick e.g. alert Wow u managed to execute me");
}
}
});
});
});
});