VVV*_*VVV 5 jquery jquery-events
我被迫使用从外部服务器加载的脚本。
该脚本基本上添加了一个元素<div class="myClass">并click为其绑定了一个方法。
问题是,在与click元素关联的函数中,它们最后有一个return false语句。
我也有自己的脚本,我正在尝试click使用$(document).on('click', '.myClass', function() { ... })
我的问题是他们的事件是之前触发的,而return false他们的函数中的 没有触发我自己的click方法。
我试过在他们之前加载我的脚本,但这并没有解决问题。我已经阅读了关于解除绑定然后重新绑定的内容,但我不确定这是一个不错的选择,因为他们的代码可以随时更改。
还有什么我可以尝试的吗?
你需要让你的处理函数返回 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)
问题在于事件委托取决于事件冒泡到将处理程序绑定到的元素。当它们的处理程序返回 false 时,就会阻止冒泡。
添加元素后,您必须将处理程序直接绑定到元素:
$(".myClass").click(function() { ... });
Run Code Online (Sandbox Code Playgroud)