mootools - 中间点击

时间:2013-08-29 09:47:36

标签: mootools

如何检测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
     }          
});

1 个答案:

答案 0 :(得分:2)

MooTools根据浏览器使用addEventListenerattachEvent

  • 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/