jQuery:.ready()和.ajaxComplete

时间:2013-10-09 08:44:18

标签: jquery

我希望我的JS的某些部分在文档准备好或ajax查询完成时初始化 像这样:

if ($(document).ready() or $(document).ajaxComplete()) {
  // do something
}

是否可以写出这样的条件?
我该如何做对?

2 个答案:

答案 0 :(得分:6)

你可以使用bind Function

 $(document).bind('ready ajaxComplete', function(){
  // Your code here
 })

虽然我在评论中同意Felix的看法,就绪函数是一个单独的函数,主要用于仅在加载整个文档时才执行操作

答案 1 :(得分:4)

您可以将公共代码放在一个函数中,并将其绑定到任意数量的事件:

function doStuff(){
    // do something
}

$(document).ready(doStuff);
$(document).ajaxComplete(doStuff);

正如Jigar所提到的:您还可以使用.bind('evtA evtB', func).on('evtA evtB', func)将同一个回调绑定到多个事件中。

但是,ready回调的documentation表示:

  

还有$(document).on(“ready”,handler),从jQuery 1.8开始不推荐使用。