当窗口在单页应用程序中完全加载时,我使用此代码通过绑定来加载图库:
$(window).bind("load", function() {
console.log("window loaded");
$("div#gallery").slideViewerPro({
autoslide: true,
thumbsVis: false,
galBorderWidth: 1,
galBorderColor: "#003f00"
});
});
此事件仅在窗口加载时有效,而在单页应用程序的情况下,此事件只有一个回调权限,这仅在窗口加载后?每当我的页面内有变化时,$(window).bind(......)的回调永远不会被再次调用?!例如,单页应用程序更适合使用jQuery请求更改内容。 jQuery中是否有haschange()或dom_has_loaded()?
我希望我能清楚地指出它。
答案 0 :(得分:0)
jQuery中没有任何方法可以执行您要执行的操作。它需要在所有浏览器中都不支持的DOM Mutation事件或者效率不高的setInterval。
相反,将自定义事件绑定到窗口并在更改页面内容时触发事件。
$(window).bind("contentChanged load",function(){
console.log("window loaded or changed");
$("#gallery").slideViewerPro({ // div#gallery is very inefficient
autoslide: true,
thumbsVis: false,
galBorderWidth: 1,
galBorderColor: "#003f00"
});
});
以及后来:
$("#content").load("somepage.php",function(){
$(window).trigger("contentChanged");
});