Куда пропали Event.Keys? - PullRequest
       9

Куда пропали Event.Keys?

0 голосов
/ 05 октября 2011

Я что-то пропустил или объект Event.Keys ушел из mootools с 1.4.0?

Я не могу получить реальное значение клавиши или сравнить ее с текущей нажатой клавишей:

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 Ответ

1 голос
/ 05 октября 2011

гм. В соответствии с новыми изменениями API, Event теперь называется DOMEvent, MooTools Type, а не Class. Кроме того, определения событий теперь являются частными за замыканием в массиве ключей.

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!");
});

предупреждение выше будет срабатывать только если вы нажмете стрелку влево внутри текстовой области. Надеюсь, это поможет ...

...