我是否遗漏了一些东西,或者自1.4.0以来,Event.Keys对象已经从mootools中消失了?
我无法获得某个键的实际值或将其与当前按下的键进行比较:
var modifiers = {
previous: Event.Keys.left,
next: Event.Keys.right
};
switch (evt.code){
case Event.Keys.backspace:
// Do some stuff;
break;
case Event.Keys.delete:
// Do some other stuff
break;
}
此对象是否有可能移动到另一个对象或属性?
答案 0 :(得分:1)
ERM。在新的API更改下,Event
现在称为DOMEvent
,MooTools Type
,而不是类。此外,事件定义现在在密钥数组中的闭包后面是私有的。
https://github.com/mootools/mootools-core/blob/master/Source/Types/DOMEvent.js
有一个API可以使用它:
DOMEvent.defineKeys({
38: "up"
});
,遗憾的是 - 是一种方式:你没有Event.Keys
的吸气剂,你也无法通过API设置它。
您可以根据来源重新定义它们,也可以存储它们的含义。你也可以重构它来刺穿它。
您还可以执行伪事件,例如keydown:left
DOMEvent.definePseudo('left', function(split, fn, args){
// args[0] is the Event instance
if(args[0].key == 'left') fn.apply(this, args);
});
document.getElement("textarea").addEvent("keydown:left", function(e) {
alert("left pressed!");
});
只有按下textarea内的左箭头,上面的警告才会触发。希望这会有所帮助...