javascript – 取消jQuery事件处理

前端之家收集整理的这篇文章主要介绍了javascript – 取消jQuery事件处理前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我以下列方式安装onclick事件处理程序:
element.onclick = function() { /*code */ }

想象一下,使用jQuery方法bind()或类似的处理程序设置事件处理程序.

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

如何从最初描述的处理程序中禁止使用jQuery调用处理程序?

NB stopPropagation()等jQuery的方法不能从该函数,因为它是传递与本机事件对象.

解决方法

我不是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()
}

编辑:再次阅读你的问题,我不认为传播是问题 – 你似乎想取消事件处理程序在事件处理程序中运行 – 我不知道这是可能的.你可以解开所有的处理程序(jQuery(elem).unbind(‘click’)),但我不认为这是你以后…

原文链接:https://www.f2er.com/jquery/151631.html

猜你在找的jQuery相关文章