我在我的index.html文件中具有以下代码:
<div id="page-insert"></div>
function openPage(pageid) {
$('#page-insert').load(pageid);
}
openPage('testpage.html');
当然,index.html上还有一些脚本文件,当然还有一些插件,以及一些插件,例如select2。将其加载到DIV之后,我的插件都无法使用内容。似乎嵌入式JS文件不适用于通过jQuery加载的内容。如何使文件应用于此内容?
您使用的任何插件只能在页面加载时在DOM中可用的内容上实例化。
要在动态加载的内容上实例化插件,您需要使用load()
的回调,例如:
function openPage(pageid) {
$('#page-insert').load(pageid, function() {
$(this).find('select').select2();
// other plugins here...
});
}
还要注意,如果您有事件处理程序,这些事件处理程序应动态添加到内容,则应使用委派事件处理程序。