jQuery 多次点击事件

VVV*_*VVV 5 jquery jquery-events

我被迫使用从外部服务器加载的脚本。

该脚本基本上添加了一个元素<div class="myClass">click为其绑定了一个方法。

问题是,在与click元素关联的函数中,它们最后有一个return false语句。

我也有自己的脚本,我正在尝试click使用$(document).on('click', '.myClass', function() { ... })

我的问题是他们的事件是之前触发的,而return false他们的函数中的 没有触发我自己的click方法。

我试过在他们之前加载我的脚本,但这并没有解决问题。我已经阅读了关于解除绑定然后重新绑定的内容,但我不确定这是一个不错的选择,因为他们的代码可以随时更改。

还有什么我可以尝试的吗?

and*_*ldi 5

你需要让你的处理函数返回 false.. 它可以防止事件冒泡。

在您的标签 html 中,您必须编写如下内容:

<button type="button" class="btn" onclick="myHandler(); return false;"></button>
Run Code Online (Sandbox Code Playgroud)

或者,如果您使用 jQuery:

$(".btn").on('click', function (event){ 
    //do stuff..
    return false;
});
Run Code Online (Sandbox Code Playgroud)


Bar*_*mar 2

问题在于事件委托取决于事件冒泡到将处理程序绑定到的元素。当它们的处理程序返回 false 时,就会阻止冒泡。

添加元素后,您必须将处理程序直接绑定到元素:

$(".myClass").click(function() { ... });
Run Code Online (Sandbox Code Playgroud)