• eventUtil


    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;
    },
    //获取事件类型
    getType: function(event) {
    return event.type;
    },
    //获取元素
    getElement: 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.cancelBubble = true;
    }
    }
    }

    window.onload=function(){
    var go=document.getElementById('go'),
    box=document.getElementById('box');

    eventUtil.addHandler(box,'click',function(){
    alert('我是整个父盒子');
    });

    eventUtil.addHandler(go,'click',function(e){
    //e=eventUtil.getEvent(e);
    e=e || window.event;
    alert(eventUtil.getElement(e).nodeName);
    eventUtil.preventDefault(e);
    eventUtil.stopPropagation(e);
    });

    }

  • 相关阅读:
    关于linux下如何使用svn 客户端
    vscode 如何格式化vue(template)html代码 , 保持标签属性不换行
    echarts的一些基础笔记
    Stompjs websocket vue
    GLSL反转矩阵inverse
    【入门向】使用 MetaHook Plus 绘制 HUD
    取文件MD5 WINAPI
    BAD APPLE C++控制台程序
    查看struct或class的内存布局
    让游戏以高性能GPU(独立显卡)运行
  • 原文地址:https://www.cnblogs.com/jayruan/p/5971402.html
Copyright © 2020-2023  润新知