Может кто-нибудь объяснить мне, почему этот фрагмент не может работать?
Я не могу использовать определенные функции, такие как window.location, submit(), (вместо trigger()), потому что эта функция связана с элементами, которые являются очень разными.
$('a, button').bind('click', function(oEvent, oData) {
var oButton = $(this);
var bSkip = (oData && oData.skip);
if(true === bSkip) {
return true;
} else {
oEvent.preventDefault();
//oEvent.stopPropagation();
if(confirm('This is a confirm box')) {
$(oButton).trigger('click', { skip: true });
}
}
});
Заранее спасибо ! ;)
В вашем случае, даже если событие click активируется, поведение ссылок по умолчанию может не запускаться из-за ограничений, наложенных браузером
Если я понимаю, что вы пытаетесь сделать правильно (если действие s не подтвердилось, отмените поведение по умолчанию), вы можете достичь этого ниже: нет необходимости запускать событие снова
$('a, button').bind('click', function (oEvent, oData) {
if (confirm('This is a confirm box')) {
return true;
} else {
oEvent.preventDefault();
}
});
Демо: скрипка