2011-10-05 72 views
0

我错过了什么,或者Event.Keys对象自1.4.0以来已经从mootools中消失了吗?Event.Keys在哪里去了?

我不能一键搞定的实际价值或把它比作当前的按键:

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; 
} 

是一个疗法的可能性此对象移动到另一个对象或属性?

回答

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,你不能对它进行设置W/O贯通进入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!"); 
}); 

上述警报将只火,如果你按你的文字区域内的左箭头。希望这有助于...

+0

好的,谢谢你的解释,我会经历一些很酷的伪事件。 – loranger