有人可以解释一下为什么这个片段无法正常工作吗?
我不能使用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 });
}
}
});
提前致谢! ;)
答案 0 :(得分:1)
在您的情况下,即使点击事件被触发,由于浏览器施加的限制,也可能无法触发链接的默认行为
如果我理解您正在尝试正确执行的操作(如果操作未确认然后取消默认行为),那么您可以通过以下方式实现...无需再次触发事件
$('a, button').bind('click', function (oEvent, oData) {
if (confirm('This is a confirm box')) {
return true;
} else {
oEvent.preventDefault();
}
});
演示:Fiddle