html/js:单页应用程序中是否有“页面加载”事件?

pky*_*eck 5 html javascript singlepage

我正在构建一个单页应用程序,它通过 ajax(预)加载不同页面的内容。当用户导航时,应用程序用新内容(ajax 数据)替换特定标签内的旧内容。这个新内容可以是例如包含文本和图像的文章。

我的问题是:在替换内容并加载新内容的每个外部资源后,是否会触发事件?就像“DOM 准备好”来刷新 DOM?

Cer*_*rus 0

是的,jQuery 有一个document.ready应该适合您的事件。

但是,如果您不想导入该库,则可以复制 jQuery 的 event 。

编辑

原来是我没注意。

修改 DOM 时不会触发任何事件,因此不可能在类似的事情上添加侦听器。

您必须手动跟踪 DOM 上的修改。您可以将“回调”添加到您使用的修改函数中:

function addSomethingToPage(data){
    data.doSomething():
    domReady();
}

function domReady(){
    //re-usable "callback"
}
Run Code Online (Sandbox Code Playgroud)

  • jQuery 的“document.ready”仅在第一次页面加载时调用一次 - 所以这是行不通的。 (2认同)