通常要将多个事件绑定(bind)到一个元素,可以使用 .on()
:
$("select#id").on("click change").function(){
// do actions
});
但是,从 jQuery 1.8 开始,不推荐使用 ready
和 .on()
:
// Deprecated
$(document).on("ready", handler)
.on("ready")
的行为也不同于 .ready()
。具体来说,如果 .on("ready")
在元素准备就绪后绑定(bind)到元素,则处理程序将不会执行,而 .ready()
即使在元素之后调用也会执行准备好了。
您可以使用命名函数完成它:
var myFunction = function(){
// do actions
};
$(document).ready(myFunction);
$("select#id").change(myFunction);
但这并不理想。使用单个匿名函数会更干净。
最佳答案
一种方法是:
$(document).ready(function(){
$("select#id").change(function(){
// do actions
}).change();
});
这将为 change
事件定义处理程序,然后立即调用 change
事件。因为它在 ready()
处理程序内部,所以它将针对 ready
和 change
事件执行。
关于javascript - 使用一个匿名函数绑定(bind)到就绪事件和另一个事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19410073/