zoukankan      html  css  js  c++  java
  • JavaScript高级程序设计之EventUtil

    简单的通用事件方法

    var EventUtil = {
        getEvent: function (e) {
            return e || window.event;
        },
    
        getTarget: function (e) {
            return e.target || e.srcElement;
        },
    
        preventDefault: function (e) {
            if (e && e.preventDefault) {
                e.preventDefault();
            } else {
                window.event.returnValue = false;
            }
        },
    
        stopPropagation: function (e) {
            if (e && e.stopPropagation) {
                e.stopPropagation();
            } else {
                e.cancelBubble = true;
            }
        },
    
        addHandler: function (ele, evType, fn, useCapture) {
            // 默认使用事件冒泡
            useCapture = useCapture || false;
    
            if (ele.addEventListener) {
                ele.addEventListener(evType, fn, useCapture);
            } else if (ele.attachEvent) {
                ele.attachEvent("on" + evType, function () {
    
                    // fn中的this指向ele对象:ie的问题
                    fn.call(ele);  
                });
            } else {
                ele["on" + evType] = fn;
            }
        },
    
        removeHandler: function (ele, evType, fn) {
            if (ele.removeEventListener) {
                ele.removeEventListener(evType, fn);
            } else if (ele.detachEvent) {
                ele.detachEvent("on" + evType, fn);
            } else {
                ele["on" + evType] = null;
            }
        },
        
        // keypess事件的charCode
        getCharCode: function (e) {
            if (typeof e.charCode === "number") {
                return e.charCode;
            } else {
                return e.keyCode; // ie8及之前版本
            }
        }
    };
  • 相关阅读:
    prev()方法使用的注意点
    JS 获取图片的高度
    渐变色
    JS获取时间
    监听鼠标上下滚动事件
    几种常见的边框样式
    左侧导航背景颜色随机变化
    apache开启gzip压缩
    dedecms在linux上安装提示没权限解决办法
    阿里云centos7.3安装lamp环境
  • 原文地址:https://www.cnblogs.com/xiankui/p/3761680.html
Copyright © 2011-2022 走看看