zoukankan      html  css  js  c++  java
  • 跨浏览器注册事件和移除事件方案

    var EventUtil = {
                //注册事件
                addHandler: function (element, type, handler) {
                    if (element.addEventListener) {
                        element.addEventListener(type, handler, false);
                    } else if (element.attachEvent) {
                        element.attachEvent("on" + type, handler);
                    } else {
                        element["on" + type] = handler;
                    }
                },
                //移除事件
                removeHandler: function (element, type, handler) {
                    if (element.removeEventListener) {
                        element.removeEventListener(type, handler, false);
                    } else if (element.detachEvent) {
                        element.detachEvent("on" + type, handler);
                    } else {
                        element["on" + type] = null;
                    }
                },
                //获取事件对象
                getEvent: function (event) {
                    return event ? event : window.event;
                },
                //获取时间目标元素
                getTarget: function (event) {
                    return event.target || event.srcElement;
                },
                //阻止默认事件
                preventDefault: function (event) {
                    if (event.preventDefault) {
                        event.preventDefault();
                    } else {
                        event.returnValue = false;
                    }
                },
                //阻止事件传播
                stopPropagation: function (event) {
                    if (event.stopPropagation) {
                        event.stopPropagation();
                    } else {
                        event.cancelBubbles = true;
                    }
                },
                //获取事件目标元素
                getRelatedTarget: function (event) {
                    if (event.relatedTarger) {
                        return event.relatedTarget;
                    } else if (event.toElement) {
                        return event.toElement;
                    } else if (event.fromElement) {
                        return event.fromElement;
                    } else {
                        return null;
                    }
                }
            }
            使用:
            EventUtil.addHandler(window, "load", function () {
                console.log("注册");
            });
    
            EventUtil.removeHandler(window, "load", function () {
                console.log("移除注册");
            });
    

      

  • 相关阅读:
    关于Tortoise git汉化包装了,不管用,仍然是英文菜单的问题记录
    《EM-PLANT仿真技术教程》读书笔记
    使用java8的lambda将list转为map(转)
    mybatis动态sql中的trim标签的使用(转)
    python变量与常量内容:
    变量与常量
    计算机与操作系统小结
    编程与计算机基础
    元类
    爬虫百度图片
  • 原文地址:https://www.cnblogs.com/objectboy/p/4097173.html
Copyright © 2011-2022 走看看