gpt4 book ai didi

javascript - 取消 jQuery 事件处理

转载 作者:可可西里 更新时间:2023-11-01 02:56:20 24 4
gpt4 key购买 nike

我按以下方式设置了 onclick 事件处理程序:

element.onclick = function() { /*code */ }

假设有使用 jQuery 方法 bind() 或类似处理程序设置的事件处理程序。

$('element').bind('click', function(){/*another function*/})

如何防止从我在开头描述的处理程序中调用使用 jQuery 定义的处理程序?

注意 stopPropagation() 等。jQuery 的方法不适用于该函数,因为它是通过 native 事件对象传递的。

最佳答案

我不是 100% 确定你在问什么,但也许这会有所帮助:

您可以通过 jQuery 公开的事件构造函数创建一个新的事件对象(符合 W3C DOM):

例如:

element.onclick = function(e) {
var aBetterEventObject = jQuery.Event(e);
// Now you can do what you want: (Cross-browser)
aBetterEventObject.preventDefault()
aBetterEventObject.isDefaultPrevented()
aBetterEventObject.stopPropagation()
aBetterEventObject.isPropagationStopped()
aBetterEventObject.stopImmediatePropagation()
aBetterEventObject.isImmediatePropagationStopped()
}

编辑:再次阅读您的问题,我认为传播不是问题 - 您似乎想取消事件处理程序在事件处理程序中运行 - 我不确定这是否可能。您可以取消绑定(bind)所有处理程序 (jQuery(elem).unbind('click')),但我认为这不是您想要的...

关于javascript - 取消 jQuery 事件处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/491707/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com