2010-01-20 59 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 2010-01-20 00:45:17

1

裏面的事件回調,this是指觸發事件的元素。所以你可以寫:

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

或者改爲使用事件對象的target屬性。兩者都是一樣的。

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

連接使用或者addEventaddEvents回調函數:

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