您的位置:首页 > Web前端 > JavaScript

javascript 方法 / 绑定 解绑事件

2015-08-01 15:52 603 查看
很多JS插件的代码开头都是 (function( 一直不太明白 直到看到

// 事件绑定
this.bindHandler = (function() {
if (window.addEventListener) {// 标准浏览器
return function(elem, type, handler) {// elem:节点    type:事件类型   handler:事件处理程序
// 最后一个参数为true:在捕获阶段调用事件处理程序    为false:在冒泡阶段调用事件处理程序
elem.addEventListener(type, handler, false);
}
} else if (window.attachEvent) {// IE浏览器
return function(elem, type, handler) {
elem.attachEvent("on" + type, handler);
}
}
})();
// 事件解除
this.removeHandler = (function() {
if (window.removeEventListerner) {// 标准浏览器
return function(elem, type, handler) {
elem.removeEventListerner(type, handler, false);
}
} else if (window.detachEvent) {// IE浏览器
return function(elem, type, handler) {
elem.detachEvent("on" + type, handler);
}
}
})();

化简成

a = (function(){
return function(b){
alert(b);
}
})();

a('$b$');

一眼就看明白了 : 调用 function的返回值 也就是闭包函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: