我以下列方式安装onclick事件处理程序:
element.onclick = function() { /*code */ }
想象一下,使用jQuery方法bind()或类似的处理程序设置事件处理程序.
$('element').bind('click',function(){/*another function*/})
解决方法
我不是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’)),但我不认为这是你以后…