文档章节

javascript 方法 / 绑定 解绑事件

cgjcgs
 cgjcgs
发布于 2015/08/01 15:52
字数 192
阅读 237
收藏 6

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

© 著作权归作者所有

上一篇: Xpath 使用记录
下一篇: js 创建可扩展库
cgjcgs
粉丝 2
博文 32
码字总数 3053
作品 0
广州
程序员
私信 提问
JavaScript零基础入门——(十三)JavaScript的事件

JavaScript零基础入门——(十三)JavaScript的事件 大家好,欢迎回到我们的JavaScript零基础入门。上一节课,我们了解了JavaScript定时器,也演示了一些比较经典的例子,其实我们已经用到了...

JandenMa
2018/07/01
63
0
深入出不来nodejs源码-events模块

  这一节内容超级简单,纯JS,就当给自己放个假了,V8引擎和node的C++代码看得有点脑阔疼。   学过DOM的应该都知道一个API,叫addeventlistener,即事件绑定。这个东西贯穿了整个JS的学习...

书生小龙
2018/08/08
0
0
jQuery--[编码规范与最佳实践]

以下是书写jQuery代码的基本规范和最佳实践,这些不包括原生JS规范与最佳实践。 加载jQuery 1、尽量使用CDN加载jQuery。 <script type="text/javascript" src="//ajax.googleapis.com/ajax/l......

Candy_Desire
2014/12/11
910
0
Virtual Dom算法实现笔记

前言 网上关于virtual dom(下面简称VD)的博客数不胜数,很多都写得很好,本文是我初学VD算法实现的总结,在回顾的同时,希望对于同样初学的人有所启发,注意,这篇文章介绍实现的东西较少,...

frontdog
2018/06/07
0
0
说说 Vue.js 实例及数据绑定能力

1 创建实例 通过 Vue() 构造函数就可以创建一个 Vue 的根实例: 1.1 el 选项 el 选项用于绑定页面中的某个 DOM 元素。它可以是 HTMLElement 或是 CSS 选择器。 在上例中: HTMLElement 方式为...

deniro
2018/09/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

以GPS为例,深入浅出讲解射频接收路径的匹配调试流程

RF接收路径的匹配流程----以GPS为例 调Matching前,至少准备两块板子。 一块完整PCB,有上全部零件 : 一块裸版,完全都没上零件 : 匹配前注意事项—铜管 可能很多人忽略这点,但其实这才是...

demyar
6分钟前
1
0
TI AM570x浮点DSP C66x + ARM Cortex-A15开发板的LCD触摸屏接口、LED指示灯

TL570x-EVM是一款由创龙基于SOM-TL570x核心板设计的开发板,它为用户提供了SOM-TL570x核心板的测试平台,用于快速评估SOM-TL570x核心板的整体性能。 TL570x-EVM底板采用沉金无铅工艺的4层板设...

Tronlong创龙
6分钟前
1
0
docker部署springboot项目

前提条件: 1.可以运行jar包的环境 2.机器上已经安装了docker 3.准备部署的springboot的jar包 4.Dockerfile文件 首先在xshell中连接服务器,然后再创建docker_test,在docker_test下创建jar...

故久呵呵
11分钟前
2
0
MaxCompute问答整理之10月

本文是基于本人对MaxCompute产品的学习进度,再结合开发者社区里面的一些问题,进而整理成文。希望对大家有所帮助。 问题一、DataStudio中是否可以通过shell节点调取MaxCompute sql语句? 不...

一肥仔
12分钟前
1
0
GMAT阅读高速解题6招秘籍分享

在做GMAT阅读题时,你是否曾因为文章内容无聊昏昏欲睡?是否看到第二段就神游不知所云?又是否看完问题选择觉得似乎每个都是正确答案?如果上面这些情况曾经发生在你身上,那么你的阅读方式和心...

bole6
13分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部