【发布时间】:2013-08-29 09:47:36
【问题描述】:
如何检测 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
}
});
【问题讨论】:
-
如果你在你的函数中传递了
obj,你可以通过event.which得到它。无法解释为什么,我很想听听一些专家解释/回答这个问题。也许 Dimitar 或其他人很快就会检查这个......无论如何:检查这里,然后查看控制台。 (jsfiddle.net/RDc2Z) -
该示例中似乎有错误;
event甚至没有定义。修复错误后,.which和.button仍然未定义。编辑:啊,它适用于 Chrome,但不适用于 FF。 -
示例中没有错误,你检查控制台了吗?你可以用 alert() 代替jsfiddle.net/RDc2Z/1 来检查这个
-
通过。两件事情。我的 mac book 上没有中间按钮。二。如果您需要依靠中键来设计 UI,那么您可能做错了。如果必须,请使用 ctrl/meta/cmd 单击。如果我明天有空闲时间,我会看看 Event.js 代码,看看它是否可以在 mootools 1.5 出来之前标准化。
-
Sergio 的解决方案仅适用于 Chrome。我做了一些更改,现在它可以在 FF、Chrome 和 IE 中使用。不完全确定为什么会这样。
.addEvent不应该与.addEventListener相同吗? (jsfiddle.net/RDc2Z/2/)
标签: mootools