复制代码 代码如下:
//非延迟加载的函数,每次调用都会进行条件判断
function removeHandler(target,eventType,handler) {
if(target.removeEventListener) {
target.removeEventListener(eventType,handler,false);
}else {
target.detachEvent("on"+eventType,handler);
}
}
//延迟加载的函数,第一次调用后,会覆盖原来的老函数,以后再次调用的是新函数,不会再进行条件的判断,提升效率
function addHandler(target,eventType,handler) {
if(target.addEventListener) {
addHandler = function(target,eventType,handler){
target.addEventListener(eventType,handler,false);
}
}else{
addHandler = function(target,eventType,handler){
target.attachEvent("on"+eventType,handler);
}
}
addHandler(target,eventType,handler);
}
//条件预加载
//条件预加载确保所有函数调用时间相同。其代价是在脚本加载时进行检测。预加载适用于一个函数马上就会被用到,而且在整个页面生命周期中经常使用的场合。
var addEventHandler = document.body.addEventListener ? function(target,eventType,handler) {
target.addEventListener(eventType,handler,false);
} : function(target,eventType,handler) {
target.attachEvent("on"+eventType,handler);
}
您可能感兴趣的文章:
- 浅析js预加载/延迟加载
- jquery插件lazyload.js延迟加载图片的使用方法
- JS延迟加载加快页面打开速度示例代码
- 几种延迟加载JS代码的方法加快网页的访问速度
- js图片延迟加载的实现方法及思路
- 原生Js页面滚动延迟加载图片实现原理及过程
- js 延迟加载 改变JS的位置加快网页加载速度
- js实现延迟加载的方法