javascript - 使用一个匿名函数绑定(bind)到就绪事件和另一个事件

标签 javascript jquery jquery-events anonymous-function ready

通常要将多个事件绑定(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() 处理程序内部,所以它将针对 readychange 事件执行。

关于javascript - 使用一个匿名函数绑定(bind)到就绪事件和另一个事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19410073/

相关文章:

javascript - 如何根据媒体查询调用js文件

jquery - 单击另一个按钮并提交表单后启用一个按钮

javascript - 删除 Javascript 数组中的字符串时遇到问题

javascript - 重置嵌套的 Observable

javascript - 从子组件中过滤数组数据表

javascript - 传e参数,jQuery

javascript - 检测加载了 JavaScript 的页面

jquery - 如何防止 jQuery 悬停事件在未完成时触发?

javascript - Angular 单击停止传播事件

javascript - 测量 Javascript 应用程序的 CPU 负载