我想对文档元素使用jQuery ready()
函数。这是我的脚本:
第1页:
$(document).ready(function(){
$('form#haberekle').ajaxForm(options);
});
第二页:
$(document).ready(function() {
var options = {
success:showResponse,
beforeSubmit:showRequest,
resetForm:true
};
$('#haberresmiekleform').ajaxForm(options);
});
这两个页面包含在<!--#include file=""-->
这两个功能可以正常工作,还是相互阻挡? 根据我的经验,他们似乎工作正常。
例如:按钮的onclick
功能只有一个。
答案 0 :(得分:10)
您可以根据需要进行尽可能多的.ready()
次调用,jQuery的设计考虑到了这一点,绝对可以。
是的,它是 ok ,你不会有任何问题......这种情况一直都在发生。
将其视为事件处理程序,如.click()
,这正是它的行为方式(严格来说,不是完全,但对于大多数目的而言如此)。所以你可以拥有你想要的任意数量。
可能感兴趣的另一个注意事项是,您通过are pushed传递到.done()
readyList
的.ready()
{{3}}处理程序,这意味着它们将按顺序执行你在页面中调用它们。在早期版本的jQuery中,相同的顺序行为是正确的(虽然通过数组,不同的方法)。
答案 1 :(得分:2)
是的,没关系。当dom满载时,两者都会被调用。请注意,如果在之后调用.ready()
已加载dom,则会立即执行回调。见http://api.jquery.com/ready/
答案 2 :(得分:2)
答案 3 :(得分:1)
为同一事件附加多个处理程序没问题。 ready
的文档说:
还有 $(document).bind(“ready”,handler)。 这与准备好的行为类似 方法,但有一个例外:如果 准备好的事件已经解雇了你 尝试.bind(“准备好”)绑定 处理程序不会被执行。
bind
的文档说:
当一个事件到达一个元素时,全部 绑定到该事件类型的处理程序 元素被解雇了。如果有 他们注册了多个处理程序 将始终按顺序执行 他们被绑定了