JQuery 触发器元素本身在绑定中



有人可以解释为什么这个片段不起作用吗?

我不能使用特定的功能,如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();
    }
});

演示:小提琴

最新更新