博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
原生JS事件处理程序
阅读量:5797 次
发布时间:2019-06-18

本文共 2882 字,大约阅读时间需要 9 分钟。

var EventUtil = {        addEvent: function(element, type, handler){            if(element.addEventListener){                element.addEventListener(type, handler, false);//DOM2级事件处理程序            }else if(element.attachEvent){                element.attach('on' + type, handler);//IE事件处理程序            }else{                element['on' + type] = handler;//DOM0级事件处理程序            }        },复制代码

getEvent: function(event){            // return event || window.event;            return event ? event : window.event;        },  复制代码

getTarget: function(event){            return event.target || event.srcElement;        },复制代码

preventDefault: function(event){            if (event.preventDefault){                event.preventDefault();            } else {                event.returnValue = false;            }        },复制代码

removeEvent: 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;            }        },复制代码

stopPropagation: function(event){            if(event.stopPropagation){                event.stopPropagation();            } else {                event.cancelBubble = true;            }        },复制代码

这个属性只对于mouseovermouseout事件才包含值; 对于其他事件,这个属性值是null;

getRelatedTarget: function(e){            if(e.relatedTarget){                return e.relatedTarget;            } else if(e.toElement){                return e.toElement;            } else if(e.fromElement){                return e.fromElement;            } else {                return null;            }        }, 复制代码

0:主鼠标按钮,1:中间的鼠标按钮(滚轮按钮),2:次鼠标按钮

getMouseButton: function(event){            if(document.implementation.hasFeature("MouseEvents", '2.0')){                return event.button;            } else {                // IE8及之前版本的button属性,转换为DOM版鼠标事件的button属性                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;                }            }        },复制代码

getWheelDelta: function(event){            if(event.wheelDelta){                return (client.engine.opera && client.engine.opera < 9.5) ?                    -event.wheelDelta : event.wheelDelta;            } else {                return -event.detail * 40;            }        },复制代码

getCharCode: function(event){            if(typeof event.charCode == 'number'){                return event.charCode;            } else {                return event.keyCode;            }        }复制代码
}复制代码

转载地址:http://rnsfx.baihongyu.com/

你可能感兴趣的文章
多项式前k项和java_多项式朴素贝叶斯softmax改变
查看>>
我的友情链接
查看>>
【348天】每日项目总结系列086(2018.01.19)
查看>>
JAVA中循环删除list中元素的方法总结
查看>>
ChPlayer播放器的使用
查看>>
js 经过修改改良的全浏览器支持的软键盘,随机排列
查看>>
做完小程序项目、老板给我加了6k薪资~
查看>>
脱离“体验”和“安全”谈盈利的游戏运营 都是耍流氓
查看>>
TortoiseSVN中图标的含义
查看>>
Python version 2.7 required, which was not foun...
查看>>
[BZOJ] 1012 [JSOI2008]最大数maxnumber
查看>>
根据毫秒数计算出当前的“年/月/日/时/分/秒/星期”并不是件容易的事
查看>>
Unity Shaders and Effects Cookbook (3-5) 金属软高光
查看>>
31-hadoop-hbase-mapreduce操作hbase
查看>>
NYOJ283对称排序
查看>>
C#反射实例应用--------获取程序集信息和通过类名创建类实例
查看>>
VC中实现文字竖排的简单方法
查看>>
程序员常用的六大技术博客类
查看>>
深入理解浏览器的缓存机制
查看>>
又拍云沈志华:如何打造一款安全的App
查看>>