一、元素事件的绑定

  1. 第一种方式

    /**
    *  @param {*} element 元素
    *  @param {*} type    事件类型* @param {*} fn      事件处理函数
    */
    element["on"+type]=fn;例如:element.onclick = function(){console.log("我是element元素的点击事件");  }

  2. 第二种方式
    /*** 为任意元素绑定任意事件* @param {*} element 元素* @param {*} type    事件类型* @param {*} fn      事件处理函数*/
    element.addEventListener(type,fn,false);
    例如:element.addEventListener('click',function(){console.log("我是element元素的点击事件");},false);

  3. 第三种方式
    /*** 为任意元素绑定任意事件* @param {*} element 元素* @param {*} type    事件类型* @param {*} fn      事件处理函数*/
    element.attachEvent(type,fn);
    例如:element.attachEvent('onclick',function(){console.log("我是element元素的点击事件");});

       

二、元素事件的解绑

  1. 第一种事件绑定方式的解绑

    /*** 为元素解绑事件* @param {*} element 标签元素* @param {*} type 事件类型*/
    element["on"+type] = null;
    例如:
    element.onclick = null;  

  2. 第二种事件绑定方式的解绑
    /*** 为元素绑定事件* @param {*} element 元素* @param {*} type    事件类型* @param {*} fn      事件处理函数*/
    element.removeEventListener(type,fn,false);
    例如:element.removeEventListener("click",function(){console.log("我是第二种事件绑定方式的解绑");},false);  

  3. 第三中事件绑定方式的解绑
    /*** 为元素解绑事件* @param {*} element 元素* @param {*} type    事件类型* @param {*} fn      事件处理函数*/
    element.detachEvent(type,fn);
    例如:
    element.detachEvent("onclick",function(){console.log("我是第三种事件绑定方式的解绑事件");
    });

  注意:

  1. 用什么方式绑定事件,就用什么方式解绑事件;
  2. element.removeEventListener(type,fn,false) ====> element.addEventListener(type,fn,false)
    fn必须是命名函数,不能是匿名函数
    IE8不支持
    type是没有on的事件类型
    第三个参数是用来控制事件阶段的,false代表是冒泡阶段,true代表是捕获阶段
  3. element.detachEvent(type,fn) ====> element.attachEvent(type,fn)
    fn必须是命名函数,不能是匿名函数
    谷歌火狐不支持,IE8支持
    type是有on的事件类型 

  

三、绑定事件的区别

addEventListener() 与 attachEvent() 
相同点:
都可以为元素绑定事件
不同点:
1.方法名不一样
2.参数不一样,addEventListener接收三个参数,attachEvent接收两个参数
3.addEventListener 谷歌,火狐,IE11支持,IE8不支持
attachEvent 谷歌,火狐,IE11不支持,IE8支持
4.this不同,addEventListener 中this是当前绑定事件的对象,attachEvent 中的this是window
5.addEventListener 中事件的类型(事件的名字)没有on
attachEvent 中时间的类型(事件的名字)有on

  

转载于:https://www.cnblogs.com/mycnblogs-guoguo/p/11211454.html

js元素事件的绑定与解绑,绑定事件的区别相关推荐

  1. jQuery的绑定与解绑方法

    jQuery的4种绑定方法 一.bind()与unbind() I.bind():绑定 1.定义 2.语法 3.参数 4.案例 (1)绑定单一事件 (2)绑定多个事件 II.unbind():解绑 1 ...

  2. js元素事件绑定与解绑兼容代码

    一.元素事件的绑定方法兼容代码 为任意元素绑定任意事件的兼容代码 /*** 为任意元素绑定任意事件* @param {*} element 元素* @param {*} type 事件类型* @par ...

  3. 从零开始学 Web 之 DOM(六)为元素绑定与解绑事件

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... +-------------------------------------------------------- ...

  4. js 事件(绑定、解绑、三个阶段、相关方法)

    事件绑定与解绑: DOM0级事件(这类事件可以使用 return false来阻止事件往下执行,包含默认事件) 绑定: html内<input οnclick=''> js中el.οncl ...

  5. JavaScript中事件的绑定与解绑

    目录 零.码仙励志 一.事件的绑定 1. 对象.on事件名字=事件处理函数 2. 对象.addEventListener("没有on的事件名字",事件处理函数,false); 3. ...

  6. jQuery事件绑定与解绑

    一.jQuery事件 方法 描述 执行时机 click() 触发或将函数绑定到指定元素的click事件 单击鼠标时 dblclick() 触发或将函数绑定到指定元素的dblclick事件 双击鼠标时 ...

  7. 组件的自定义事件(绑定、解绑)

    温馨提示:总结在最下方,如若不想看代码,请滚动至最下方查看相关知识点,谢谢! App.vue <template><div class="app">< ...

  8. vue:组件自定义事件、绑定、解绑事件

    vue:组件自定义事件.绑定.解绑事件 自定义组件绑定事件: 使用方法:在引入组件中的methods定义一个回调方法,在组件标签中使用如下两种方式自定义事件,去到引入的组件的中,使用 this.$em ...

  9. JQuery_003_事件绑定与解绑

    $(function () {//第一个按钮通过on的方式绑定点击事件$("#btn1").on("click",function () {alert(&quo ...

  10. Android 蓝牙开发(扫描设备、绑定、解绑)Kotlin版

    Kotlin版 蓝牙开发 (扫描设备.绑定.解绑) 前言 运行效果图 正文 ① 配置项目 ② 布局和样式 ③ 编码 1. 通知栏样式修改 2. 蓝牙设备列表适配器编写 3. 权限请求 4. 初始化蓝牙 ...

最新文章

  1. 解决ThinkPHP关闭调试模式时报错的问题汇总
  2. 数据库密码爆破HexorBase
  3. oracle数据转成sqlserver,oracle数据库转换到Sqlserver的几点经验
  4. 涡轮机叶片matlab强度分析论文,一种基于MATLAB及Pro_E的涡轮建模方法
  5. nginx + tomcat配置负载均衡
  6. 如何通过Azure Service Management REST API管理Azure服务
  7. 【操作系统】实时调度
  8. SSRF---gopher和dict打redis
  9. mysql提权(mof udf 反弹端口)
  10. 腾讯笔试经验-不是大牛-勿看
  11. 写给三维建模入门小白的建议
  12. 分布式文件存储:FastDFS简单使用与原理分析
  13. 微信小程序 - 音乐播放器源码
  14. Mockplus原型交互跟我做之5 - 使用内容面板快速切换内容
  15. 超越“双十一”—— ebay百万TPS支付账务系统的设计与实现
  16. 决策树 (Decision Tree) 原理简述及相关算法(ID3,C4.5)
  17. Angular 实现树形菜单(多级菜单)功能模块
  18. excel两个字符串相减_Excel技巧—超实用的字符串拆分小技巧
  19. 服务器自检后显示scsi,SCSI RAID卡常见故障分析及BIOS升级指导
  20. 刨析 SpringBoot 自动装配原理,其实很简单

热门文章

  1. java 注销变量_[ Java学习基础 ] Java对象的创建和销毁
  2. 百度Java工程师面试资源
  3. 加密Spring加载的Properties文件
  4. 在Powerbuilder中播放Flash动画
  5. Cisco正式停止MARS产品的销售
  6. php软件开发--php基础
  7. Web前端——JavaScript(bom文档对象模型)
  8. 微信小程序之二维仿射变换
  9. angular 创建服务器_使用D3和Angular创建通用的可视化
  10. 最末参与者优化 lpo_优化博客以提高读者参与度的6种方法