我想綁定一個功能,使按鈕的事件change
和keypress
。有沒有比這更好的方式:如何將相同的函數綁定到不同的jQuery事件?
$(':input').change(function() {
onInputChange();
}).keypress(function() {
onInputChange();
});
謝謝。
我想綁定一個功能,使按鈕的事件change
和keypress
。有沒有比這更好的方式:如何將相同的函數綁定到不同的jQuery事件?
$(':input').change(function() {
onInputChange();
}).keypress(function() {
onInputChange();
});
謝謝。
$(':input').on('change keypress', onInputChange);
$(':input').on("change keypress", function() {
onInputChange();
});
另外:可以避開匿名函數你錶殼和只做:
$(':input').on("change keypress", onInputChange);
相信這要做訣竅:
$(':input').on('change keypress', onInputChange);
注意這代碼假設onInputChange
要麼不擔心this
上下文或event
變量,或者它說明它們。您也可以使用以下方法:
$(':input').on('change keypress', function() {
onInputChange();
});
無論語法如何,上下文和事件都會傳遞到該函數。 - > [** proof **](http://jsfiddle.net/acX4s/3/) – adeneo
沒有提及'this' – anmarti
@ adeneo - 這是正確的。我並不是暗示它們在任何情況下都不會被傳遞到函數上。 OP的問題使得它看起來像是在將另一個函數的'onInputChange'方法包裝起來的原因,可能是因爲'onInputChange'綁定到另一個需要使用'this'的對象,而不是它作爲對輸入對象的引用。我只是想指出在這種情況下應該使用匿名函數。 –