Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-绑定到同一事件的多个函数_Javascript_Jquery_Function_Events - Fatal编程技术网

Javascript jQuery-绑定到同一事件的多个函数

Javascript jQuery-绑定到同一事件的多个函数,javascript,jquery,function,events,Javascript,Jquery,Function,Events,因此,jQuery的行为方式是,如果将多个函数分配给同一事件,如下所示: $(window).load(function() { console.log(1); }); $(window).load(function() { console.log(2); }); 当有东西触发此事件时,所有函数都将启动。 另一方面,我们有纯javascript,类似于: window.onload = function() { console.log(3); }; window.on

因此,jQuery的行为方式是,如果将多个函数分配给同一事件,如下所示:

$(window).load(function() {
   console.log(1); 
});

$(window).load(function() {
   console.log(2); 
});
当有东西触发此事件时,所有函数都将启动。 另一方面,我们有纯javascript,类似于:

window.onload = function() {
    console.log(3);
};
window.onload = function() {
    console.log(4);
};
当然,只有最后分配的功能才会启动。
为什么jQuery的行为是这样的?函数是否以某种方式堆叠并连续激发?如果有人通过代码分配多个函数,这是一种故障保护计划吗?

这样您就可以为事件分配多个处理程序,这非常有用。您可以专门命名事件处理程序(使用名称空间),以便以后可以关闭它们,而无需关闭附加到事件的所有处理程序。这是一种非常好的方法。您可能已经忘记了
addEventListener
,它表现出与jQuery包装函数相同的行为。非常感谢您的回复。甚至不知道事件绑定中存在名称空间。还感谢您提醒我addEventListener函数。我讨厌在不知道原因和工作方式的情况下使用某些东西:)