Вопрос о Mootools - PullRequest
       8

Вопрос о Mootools

1 голос
/ 20 января 2010

У меня один и тот же код для событий keyup и keydown, есть ли способ, которым я могу передать элемент в функцию, чтобы я мог вызывать его как element.addEvent('keyup',function(event,element)); на обоих, вместо того, чтобы иметь встроенную функцию?

Ответы [ 2 ]

2 голосов
/ 20 января 2010

Вы можете использовать event.target, чтобы получить элемент, которому я верю

window.addEvent('domready', function(){
    $('yourInputField').addEvents({
       'keyup': alertValue,
       'keydown': alertValue
    });
});

function alertValue(event){
    alert(event.target.value);
}
1 голос
/ 20 января 2010

Внутри обратного вызова события this относится к элементу, вызвавшему событие. Таким образом, вы можете написать либо:

function valueChangeHandler() {
    console.log(this.value);
}

или вместо этого используйте свойство target объекта события. Оба работают одинаково.

function valueChangeHandler(event) {
    console.log(event.target.value);
}

Присоедините функцию обратного вызова, используя addEvent или addEvents:

$("someInputId").addEvents({
    "keyup": valueChangeHandler,
    "keydown": valueChangeHandler
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...