有人可以解释为什么这个片段不起作用吗?
我不能使用特定的功能,如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 事件,由于浏览器施加的约束,链接的默认行为可能不会触发
如果我了解您正在尝试正确执行的操作(如果操作未确认,则取消默认行为),那么您可以通过以下方法实现它......无需再次触发事件
$('a, button').bind('click', function (oEvent, oData) {
if (confirm('This is a confirm box')) {
return true;
} else {
oEvent.preventDefault();
}
});
演示:小提琴