zoukankan      html  css  js  c++  java
  • 兼容各个浏览器的事件监听代码

    EventUtil = {
        /*事件添加*/
        addListener: function(target,type,handler){
            if(target.addEventListener){
                target.addEventListener(type,handler);
            }else if(target.attachEvent){
                target.attachEvent('on'+type,function(){
                    handler.call(target)  /*让handler中的this指向目标元素*/
                });
            }else{
                target['on'+type] = handler;
            }
        },
        /*事件移除*/
        removeListener: function(target,type,handler){
            if(target.removeEventListener){
                target.removeEventListener(type,handler);
            }else if(target.detachEvent){
                target.detachEvent('on'+type,handler);
            }else{
                target['on'+type] = null;
            }
        },
        /*事件对象获取*/
        getEvent: function(e){
            var evt = window.event || e;
            return evt;
        }
        /*获取目标对象*/
        getTarget: function(e){
            var evt = EventUtil.getEvent(e);
            var target;
            if(evt.target){
                target = evt.target;
            }else{
                target = evt.srcElement;
            }
            return target;
        }
        /*停止冒泡*/
        stopPropagation: function(e){
            var evt = EventUtil.getEvent(e);
            if(evt.stopPropagation){
                evt.stopPropagation();
            }else{
                e.cancelBuble = true;
            }
        },
        /*阻止默认行为*/
        preventDefault: function(e){
            var evt = EventUtil.getEvent(e);
            if(evt.preventDefault){
                evt.preventDefault();
            }else{
                evt.returnValue = false;
            }
        }
    }
  • 相关阅读:
    使用指针的误区之指针未初始化
    实验室react项目名词解释
    生活感悟之大学
    git 快速入门
    口才锻炼
    narcissus
    crest value &minimum
    factorial
    Str_turn
    array_x
  • 原文地址:https://www.cnblogs.com/white0710/p/6686290.html
Copyright © 2011-2022 走看看