公共事件处理函数js库
var EventUtil = { /* *添加事件处理 参数:元素对象 事件类型 处理函数 */ addHandle: function (element, type, handle) { //dom2级的事件添加 if (element.addEventListener) { element.addEventListener(type, handle, false); } else { //IE 的事件添加 if (element.attachEvent) { element.attachEvent('on' + type, handle); } else { //给元素特性赋值 element['on' + type] = handle; } } }, /* *移除事件处理 参数:元素对象 事件类型 处理函数 */ removeHandle: function (element, type, handle) { //dom2级的事件移除 if (element.removeEventListener) { element.removeEventListener(type, handle, false); } else { //IE的事件移除 if (element.detachEvent) { element.detachEvent('on' + type, handle); } else { //给元素特性赋值为空对象以移除事件 element['on' + type] = null; } } }, //获得event对象 IE中以参数event对象传入 Dom中通过window.event来访问 getEvent: function (event) { return event ? event : window.event; }, //获得事件的目标 dom中通过event.target获得 IE中通过event.srcElement getTarget: function (event) { return event.target || event.srcElement; }, //取消事件的默认行为 preventDefault: function (event) { if (event.preventDefault) { //Dom 方法 event.preventDefault(); } else { //设置IE event.returnValue = false event.returnValue = false; } }, //停止事件冒泡 stopPropagation: function (event) { //Dom 方法 if (event.stopPropagation) { event.stopPropagation(); } else { event.cancelBubble = true;; } }, //获得相关目标对象 getRelatedTarget: function (event) { //Dom 方法 relatedTarget只对mouseover和mouseout事件才包含值 否则 这个值为null if (event.relatedTarget) { return event.relatedTarget; } else { //IE if (event.toElement) { return event.toElement; } else { if (event.fromElement) { return event.fromElement; } else { return null; } } } }, //获得鼠标按键 0表示左键 1表示中间轮 2表示右键 getButton: function (event) { //是否支持Dom鼠标事件 if (document.implementation.hasFeature('MouseEvents', '2.0')) { return event.button; } else { switch (event.button) { case 0: case 1: case 3: case 5: case 7: return 0; case 2: case 6: return 2; case 4: return 1; } } }, //获得字符编码 getCharCode: function (event) { if (typeof event.charCode == 'number') { return event.charCode; } else { return event.keyCode; } } };
作者:静逸
出处:http://www.cnblogs.com/liyunhua
本文版权归作者和博客园所有,欢迎转载,转载请标明出处。
如果您觉得本篇博文对您有所收获,觉得小女子还算用心,请点击右下角的 [推荐],谢谢!