我想绑定一个功能,使按钮的事件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'的对象,而不是它作为对输入对象的引用。我只是想指出在这种情况下应该使用匿名函数。 –