js函数的延迟加载实现代码_javascript技巧

复制代码 代码如下:

//非延迟加载的函数,每次调用都会进行条件判断
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);
}

时间: 2024-09-16 03:32:38

js函数的延迟加载实现代码_javascript技巧的相关文章

js函数排序的实例代码_javascript技巧

复制代码 代码如下: var as = [1,2,11,3434,3,4545,33,55,0];as.sort(); //这个排序是按照字典排序//自定义按照数字排序function sortByNum(a,b){return parseInt(a) - parseInt(b);}as.sort(sortByNum);//按照对象来排序//定义一个person对象function Person(name.age){this.name=name;this.age=age;}var p1 = ne

浅谈JS函数定义方式的区别_javascript技巧

关于JS的函数定义方式有以下两种: (1)典型的函数声明 function slide(arguments){ //...code } (2)以函数表达式的形式定义函数 var slide = function(arguments){ //...code } 虽然上面两种方式逻辑上是等价的,但是还是有点小区别: 区别一:例一中的函数会在代码执行以前被加载到作用域中,而例二则是在代码执行到那一行的时候才会有定 义: 区别二:函数声明会给函数指定一个名字,而函数表达式则是创建一个匿名函数,然后将这个

完美的js div拖拽实例代码_javascript技巧

本文实例为大家分享了完美的js div拖拽实例代码,供大家参考,具体内容如下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head

Js 控制表单域代码_javascript技巧

123[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] js验证为正整数 复制代码 代码如下: <script> var re = /^[1-9]d*$/; //智能验证单个字符 if (!re.test(document.getElementById('group_order').value)){ alert("组排序必须为数字!"); document.getElementById('group_order').focus(); return false; }

Js 本页面传值实现代码_javascript技巧

环境 : rails 下 例如: 我点击修改后显示成这样:  关键实现过程: 1,列表部分,即第一副图,蓝色部分即实现了传值 复制代码 代码如下: <% i=0 %> <% if @group_page %> <% for group in @group_page %> <% i+=1 %> <tr <%= i%2==0 ? "class='bg'" : '' %> > <td class="fir

使用非html5实现js板连连看游戏示例代码_javascript技巧

向大家分享一款如何实现js版连连看游戏,如下图所示: 首先看一下html的布局方式在index.html文件中: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http

非html5实现js版弹球游戏示例代码_javascript技巧

开始前的html页面  开始后的html游戏界面  html页面布局,即index.html文件源码如下: 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" co

JS实现弹性菜单效果代码_javascript技巧

本文实例讲述了JS实现弹性菜单效果代码.分享给大家供大家参考.具体如下: 这是一款JavaScript+CSS实现弹性菜单--纯属自己写着练习,无使用第三方的类库,我觉得是值得学习前端设计的朋友参考的,有兴趣的朋友可以把弹性的菜单背景换成一个漂亮的图片,这样更漂亮了. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-tx-move-menu-style-codes/ 具体代码如下: <!DOCTYPE html PUBLIC "-//

动态加载js、css的实例代码_javascript技巧

一.原生js: /** * 加载js和css文件 * @param jsonData.path 前缀路径 * @param jsonData.url 需要加载的js路径或css路径 * @param jsonData.type 需要加载的类型 js或css */ function loadWriteFiles(jsonData) { jsonData.path = jsonData.path != undefined ? jsonData.path : ""; if(jsonData.