默认情况下,从文档正文实现事件委派

时间:2015-02-25 17:15:00

标签: jquery ajax internet-explorer-8 magnific-popup

我的问题从IE8中的问题开始,当通过ajax加载包含脚本标记的动态html页面时(使用magnificPopup.js)。因此,我必须从这些动态调用的页面中删除所有js代码并将它们单独放置。 js文件但是它需要为每个jQuery选择器使用.on,因为当新的.js页面加载了父页面时,所有元素都不在页面上。

问:有没有办法制作每一个jQuery选择器

$('#myId') or $('.myClass') 

按以下方式工作

$('body').on('click','#myId',function(){
   /*my code ...*/
})

1 个答案:

答案 0 :(得分:1)

似乎正确的解决方案是在ajax回调块中调用你的函数。

您将自己的行为放在命名函数中,该函数可以在任何地方加载:

function myFunction() {
    $('.myClass').click(function() { ... });
}

然后在通过ajax加载新文件后调用它:

$.ajax({...})  
.success(function() {
    myFunction();
});