绑定加载+同步更改

Jquery: bind load + change simultaneously

本文关键字:同步 加载 绑定      更新时间:2023-09-26

在许多情况下,我需要在加载后将行为绑定到元素,然后在事件触发(如"change")之后。我认为最好的方法是在同一行:

$('#element_id').bind('load, change', function () {
...
});

但这只适用于"change"而不适用于"load"。有更好的方法吗?

我也遇到过同样的问题。去掉逗号是不够的,至少在这种情况下是这样:

$(document).ready(function(){
    $('#element_id').bind('load change', function () {
        ... // (this DOESN'T get called on page load)
    });
});

我猜load事件在$(document).ready()之前触发。

这是一个简单的解决方案:

$(document).ready(function(){
    $('#element_id').bind('change', function () {
        ...
    });
    $('#element_id').trigger('change');
});

对于已经加载的内容,当你想要在一个事件上运行一个函数时,你可以使用自己命名的自定义事件来避免在内置事件上触发任何来自库等的现有绑定,例如

$(".my-selector").on("change rightnow", function() {
  // do stuff...
}).triggerHandler("rightnow");

你不需要去掉逗号吗?

试试不加逗号:

$('#element_id').bind('load change', function () {
...
});

http://api.jquery.com/bind/多个事件