首页 > 编程语言 > 详细

JavaScript高级程序设计之EventUtil

时间:2014-05-31 04:20:29      阅读:416      评论:0      收藏:0      [点我收藏+]

简单的通用事件方法

bubuko.com,布布扣
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;
        }
    }
};
bubuko.com,布布扣

 

JavaScript高级程序设计之EventUtil,布布扣,bubuko.com

JavaScript高级程序设计之EventUtil

原文:http://www.cnblogs.com/xiankui/p/3761680.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!