如何检测mootools 1.4.5中是否存在中间点击?
我知道这可以在普通的JS中完成,但我不能让它在mootools中工作。
$('someLink').addEvent('click', function(e){
if(e.button == 1){ // <-- .button doesn't exist in mootools. .which doesn't either
e.stop();
// Does some things
}
});
答案 0 :(得分:2)
MooTools根据浏览器使用addEventListener
或attachEvent
:
addEventListener
用于所有现代浏览器和IE9 + attachEvent
用于旧IE&lt; 9 但是MooTools将事件数据包装到自定义规范化对象,它将具有与所有浏览器相同的结构和值。不幸的是,它并没有处理button
财产,但它可以获得它的价值。
您可以从MooTools事件对象的event
属性获取原始事件数据,但这些数据在浏览器中可能会有所不同。 F.E. e.button
属性不是&#34;标准化&#34;在旧的IE中,它的价值可能与其他浏览器不同。
因此,使用addEvent
的代码如下所示:
$('someLink').addEvent('mousedown', function(e){
alert(e.event.button);
});
(注意:我正在使用mousedown
事件,因为当前版本的Firefox浏览器没有为中间按钮触发click
事件)
在这里工作小提琴:http://jsfiddle.net/hjsAj/