我的问题从IE8中的问题开始,当通过ajax加载包含脚本标记的动态html页面时(使用magnificPopup.js)。因此,我必须从这些动态调用的页面中删除所有js代码并将它们单独放置。 js文件但是它需要为每个jQuery选择器使用.on,因为当新的.js页面加载了父页面时,所有元素都不在页面上。
问:有没有办法制作每一个jQuery选择器$('#myId') or $('.myClass')
按以下方式工作
$('body').on('click','#myId',function(){
/*my code ...*/
})
答案 0 :(得分:1)
似乎正确的解决方案是在ajax回调块中调用你的函数。
您将自己的行为放在命名函数中,该函数可以在任何地方加载:
function myFunction() {
$('.myClass').click(function() { ... });
}
然后在通过ajax加载新文件后调用它:
$.ajax({...})
.success(function() {
myFunction();
});