我对JQuery中的.ready()函数有疑问。特别是,考虑有人必然会一些处理的文档准备事件的情况下,我执行
$(document).ready(function(){ /* my code here */ })
这是否会覆盖以前注册的处理程序,或只添加一个新的(矿)的事件?
谢谢
我对JQuery中的.ready()函数有疑问。特别是,考虑有人必然会一些处理的文档准备事件的情况下,我执行
$(document).ready(function(){ /* my code here */ })
这是否会覆盖以前注册的处理程序,或只添加一个新的(矿)的事件?
谢谢
同意。您可以随意多次使用该功能。这里是JQuery文档。
http://docs.jquery.com/Tutorials:Multiple_ $(文件)。就绪()
与像点击结合一直所有功能,$(文件)。就绪(),$(窗口).load()被添加到堆栈。这样你可以在所有的javaascript文件上使用$(document).ready。
它会推入堆栈,所以它不会覆盖。
不,它会将您的处理程序添加到集合中。
它会将您的新事件处理程序添加到现有的处理程序,如果这些处理程序也添加了jQuery.ready。如果直接通过DOM添加它们,它们将被覆盖。
与通过jQuery绑定的所有事件处理函数一样,它将被添加到元素/事件的事件处理函数队列中。
jQuery有所述event.stopImmediatePropagation()
停止连接于相同的元件的事件处理程序的执行:http://api.jquery.com/event.stopImmediatePropagation/
答案是:它被添加到该事件的事件处理程序集中。它也很容易测试:
$(document).ready(function(){alert('test1');});
$(document).ready(function(){alert('test2');});
这会将新函数添加到处理程序堆栈。而且,如果在DOM初始化后运行,该功能将立即执行。
它会添加您的活动。 – jwatts1980 2012-01-31 23:03:14
这是你自己可以很容易想出的东西:'(func1); $(func2);' – 2012-01-31 23:06:37