2010-01-20 3 views
1

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

ответ

2

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

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

function alertValue(event){ 
    alert(event.target.value); 
} 
+0

Спасибо, что помогли. – BiscottiGummyBears

1

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

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

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

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

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

$("someInputId").addEvents({ 
    "keyup": valueChangeHandler, 
    "keydown": valueChangeHandler 
});