5

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

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

这样的条件可以写吗?
我该如何做对?

4

2 回答 2

10

你可以使用绑定功能

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

尽管我在评论中同意 Felix 的观点,即 ready 函数是一个单独的函数,主要用于仅在加载整个文档时执行操作

于 2013-10-09T08:47:11.983 回答
4

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

function doStuff(){
    // do something
}

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

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

但是,回调的文档说ready

还有 $(document).on( "ready", handler ),自 jQuery 1.8 起已弃用。

于 2013-10-09T08:47:41.383 回答