$(document.body).addEvents({
"mousedown:relay(a.className)": function (a, b) {
if (!a.rightClick) {
//do something
}
return false
});
我对MooTools不太熟悉,但是我已经尝试过一切可以通过jQuery.click()
事件覆盖的方法。
我已经尝试将一个侦听器附加到.className
,其父级(几个级别上),甚至是整个body
;每次,我在function (e) { e.preventDefault() }
事件中使用click
。
我一直认为preventDefault()
将始终阻止与新触发的事件相关联的所有默认事件。
有人可以启发我为什么我的事件覆盖不起作用吗?
//编辑
我不想使用MooTools,因为将来我们可能会将所有内容移植到jQuery(或者至少不是MooTools)。如果没有其他方法,我想我将不得不这样做。
//编辑2
我以几种不同的方式尝试了jQuery.off()
,包括$j('body').off('click mousedown','.className');
,但仍然无法删除MooTools事件。
//编辑3
我认为最好不要与MooTools混为一谈;我已经更改了类名,因此MooTools不会做任何事情,只是复制了上面代码的//do something
部分中发生的事情。
[由于MooTools事件监听器的末尾return false
,我感觉对click事件无法做任何事情。
我具有无法更改的库函数,该函数使用MooTools附加事件。 $(document.body).addEvents({“ mousedown:relay(a.className)”:function(a,b){if(!a.rightClick){...
off
(JQuery 1.7或更高版本)或unbind
删除MooTools事件处理程序。