我正在创建一个网站,它可以防止在链接点击时正常页面重新加载,而是获取内容并切换 DIV(一种 SPA)的 innerHTML。
我面临一个我似乎无法解决的问题,例如:
如果您单击“关于”链接,我会获取 about.php 并将其内容插入到我的 DIV 容器中(内容只是 HTML)。现在我将有几个 php 文件,其中一些包含滑块或画廊等,我会在其中触发诸如“startSlideShow();”之类的函数。在“DOMContentLoaded”事件之后。你可以猜到,这些函数不会触发。
我尝试在每次路由更改时分派事件“DOMContentLoaded”,如下所示:
window.document.dispatchEvent(new Event("DOMContentLoaded", {
bubbles: true,
cancelable: true
}));
但这没有帮助。对于“单击”或“更改”等事件,我可以通过将我的事件处理程序附加到我的 DIV 容器来使用事件委托......但是在这种情况下如何处理“DOMContentLoaded”事件?我只使用香草js。-> 如果有什么不清楚的地方,请告诉我!