zoukankan      html  css  js  c++  java
  • 原生js事件的添加和删除

    原生js事件的添加和删除

     

    在IE浏览器中添加或删除事件用attachEvent、detachEvent。在其他标准浏览器中则用addEventListener、removeEventListener。下面的对事件的添加和删除做了封装。直接看代码吧!

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    /**
     * @description 事件绑定,兼容各浏览器
     * @param target
     *            事件触发对象
     * @param type
     *            事件
     * @param func
     *            事件处理函数
     */
    function bind(target, type, func) {
        if (target.addEventListener) {// 非ie 和ie9
            target.addEventListener(type, func, false);
        } else if (target.attachEvent) { // ie6到ie8
            target.attachEvent("on" + type, func);
        } else {
            target["on" + type] = func; // ie5
        }
    }
    /**
     * @description 事件移除,兼容各浏览器
     * @param target
     *            事件触发对象
     * @param type
     *            事件
     * @param func
     *            事件处理函数
     */
    function unbind(target, type, func) {
        if (target.removeEventListener) {
            target.removeEventListener(type, func, false);
        } else if (target.detachEvent) {
            target.detachEvent("on" + type, func);
        } else {
            target["on" + type] = null;
        }
    }

    其他补充关于addEventListener第三个参数的含义,详细请参考https://blog.othree.net/log/2007/02/06/third-argument-of-addeventlistener/这篇文章说的很清楚了。

  • 相关阅读:
    2020年MongoDB 企业应用实战 基础 复制集 分片集群
    2020年Redis5.0 从入门到企业应用实战
    2020年Jumpserver1.5.8企业生产部署指南
    python单例与数据库连接池
    python 异常处理
    python 正则
    python 多线程
    python 队列
    python 闭包与装饰器
    程序员面试资源集锦
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3818343.html
Copyright © 2011-2022 走看看