Jquery:同时绑定加载+更改

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

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

但这只适用于“改变”而不适用于“加载”。 有一个更好的方法?

我偶然发现了同样的问题。 删除逗号是不够的,至少在这种情况下不是这样:

 $(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/#multiple-events