我有两个函数绑定到一个点击事件在两个不同的时间(使用jQuery)。它们被触发的顺序很重要。他们按正确的顺序开火。问题是,当第一个函数返回false,第二个函数仍然触发!
如何正确取消活动?
示例代码:
$(document).click(function() { alert('a'); return false; }); $(document).click(function() { alert('b'); });
点击页面时,您仍然会看到“b”警告消息。这是不可接受的!
解决方法
使用jQuery事件对象的
stopImmediatePropagation
函数。
Keeps the rest of the handlers from being executed.
This method also stops the bubbling by calling event.stopPropagation().
$(document).click(function(event) { alert('a'); event.stopImmediatePropagation(); return false; }); $(document).click(function() { alert('b'); });