码迷,mamicode.com
首页 > 编程语言 > 详细

javascript 方法 / 绑定 解绑事件

时间:2015-08-01 17:31:06      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

很多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的返回值 也就是闭包函数

javascript 方法 / 绑定 解绑事件

标签:

原文地址:http://my.oschina.net/cgjcgs/blog/486468

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!