2013-11-27 44 views
0

我使用jQuery的$ .getScript函数加载外部脚本,它有它这东西我无法理解外部脚本添加拆散事件这是吗?通过加载jQuery的getScript加入功能

我不确定,但它增加了一些事件监听器来检查页面是否加载。

但是由于我使用$ .getScript函数加载脚本,我不再需要这些监听器。

有没有办法在$ .getScript函数的回调中解除它们?

回答

0

addEventListener增加了事件处理函数,而attachEvent对不支持addEventListener的浏览器也是如此,它只是较老的IE。

您检查哪一个条件可用,并将事件处理程序附加到调用函数init()的window.onload事件。
如果没有常规onload处理程序可用,则返回到第一次单击该窗口时调用init()函数。

要删除该函数,您必须尝试在脚本加载后执行相反操作。

你说你正在使用$.getScript,并有所回调,所以像:

$.getScript('myscript.js', function() { 
    if (window.removeEventListener) { 
     window.removeEventListener('load', init, false); 
    }else if (window.detachEvent) { 
     window.detachEvent('onload', init); 
    }else{ 
     window.onclick = function() {}; 
    } 
}); 
当然

,它会更容易,更好地只是删除原来的事件处理程序脚本你如果您不再需要该事件处理程序,请重新加载。