如何检测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
}
});发布于 2013-09-03 08:45:39
MooTools根据浏览器使用addEventListener或attachEvent:
addEventListener在所有现代浏览器和IE9+中都使用。attachEvent用于旧IE <9但是,MooTools将事件数据封装到自定义规范化对象中,该对象对于所有浏览器具有相同的结构和值。不幸的是,它不能处理button属性,但是可以获得它的值。
您可以从event事件对象的MooTools属性获取原始事件数据,但是这些数据在不同的浏览器中可能有所不同。F.e.e.button属性不是“规范化”的,在旧的IE中,它的值可以与其他浏览器不同。
因此,使用addEvent的代码如下所示:
$('someLink').addEvent('mousedown', function(e){
alert(e.event.button);
});(注意:我使用的是mousedown事件,因为当前版本的火狐浏览器不为中间按钮触发click事件)
这里的工作小提琴:http://jsfiddle.net/hjsAj/
https://stackoverflow.com/questions/18507543
复制相似问题