当文档准备好或ajax查询完成时,我希望我的JS的某些部分进行初始化
类似于这样:
if ($(document).ready() or $(document).ajaxComplete()) {
// do something
}
是否有可能编写这样的条件?
我该如何使其正确?
当文档准备好或ajax查询完成时,我希望我的JS的某些部分进行初始化
类似于这样:
if ($(document).ready() or $(document).ajaxComplete()) {
// do something
}
是否有可能编写这样的条件?
我该如何使其正确?
你可以使用bind函数。
$(document).bind('ready ajaxComplete', function(){
// Your code here
})
虽然我同意评论中Felix的观点,即ready函数是一个单独的函数,主要用于在整个文档加载完成后执行特定操作。
.ready
和.ajaxComplete
是特殊的函数。我认为你不能用.bind
替代它们。 - Felix Klingready
事件,文档表示“自 1.8 已弃用”(http://api.jquery.com/ready/)。 - LeGEC您可以将常见代码放在一个函数中,并将其绑定到您想要的任意事件:
function doStuff(){
// do something
}
$(document).ready(doStuff);
$(document).ajaxComplete(doStuff);
.bind('evtA evtB', func)
或.on('evtA evtB', func)
一次性将相同的回调绑定到多个事件上。ready
回调函数的文档也指出:
还有$(document).on( "ready", handler ),自jQuery 1.8已被弃用。
ready
处理程序中。然而,Ajax回调可能会在DOM准备好之前执行,导致元素无法使用。请描述您试图解决的实际问题。 - Felix Kling