首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mootools -中间单击

mootools -中间单击
EN

Stack Overflow用户
提问于 2013-08-29 09:47:36
回答 1查看 182关注 0票数 2

如何检测mootools 1.4.5中是否有中间单击?

我知道这可以在常规的JS中完成,但我不能让它在mootools中工作。

代码语言:javascript
复制
$('someLink').addEvent('click', function(e){
     if(e.button == 1){ // <-- .button doesn't exist in mootools. .which doesn't either
          e.stop();
          // Does some things
     }          
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-03 08:45:39

MooTools根据浏览器使用addEventListenerattachEvent

  • addEventListener在所有现代浏览器和IE9+中都使用。
  • attachEvent用于旧IE <9

但是,MooTools将事件数据封装到自定义规范化对象中,该对象对于所有浏览器具有相同的结构和值。不幸的是,它不能处理button属性,但是可以获得它的值。

您可以从event事件对象的MooTools属性获取原始事件数据,但是这些数据在不同的浏览器中可能有所不同。F.e.e.button属性不是“规范化”的,在旧的IE中,它的值可以与其他浏览器不同。

因此,使用addEvent的代码如下所示:

代码语言:javascript
复制
$('someLink').addEvent('mousedown', function(e){
    alert(e.event.button);       
});

(注意:我使用的是mousedown事件,因为当前版本的火狐浏览器不为中间按钮触发click事件)

这里的工作小提琴:http://jsfiddle.net/hjsAj/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18507543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档