javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)


Posted in Javascript onAugust 22, 2012
var EventUtil={ //跨浏览器处理程序---创建方法 
addHandler:function(element,type,handler){ 
if(element.addEventListener){ 
element.addEventListneter(type,handler,false); 
}else if(element.attachEvent){ 
element.attachEvent("on"+type,handler); 
}else{ 
element["on"+type]=handler; 
} 
} 
removeHandler:function(element,type,handler){ //跨浏览器处理程序---删除方法 
if(element.removeEventListener){ 
element.removeEventListneter(type,handler,false); 
}else if(element.detachEvent){ 
element.detachEvent("on"+type,handler); 
}else{ 
element["on"+type]=handler; 
} 
} 
getEvent:function(event){ //跨浏览器事件对象---返回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; 
} 
} 
stoppropagation:function(event){ //跨浏览器事件对象---阻止事件流 
if(event.stoppropagation){ 
event.stoppropagation(); 
}else{ 
event.canceBubble=false; 
} 
} 
getRelatedTarget:function(event){ //跨浏览器获取相关元素 
if(event.relatedTarget){ 
return event.relatedTarget; 
}else if(event.toElement){ 
return envent.toElement; 
}else if(event.fromElement){ 
return event.fromElement; 
}else{ 
return null; 
} 
} 
getButton:function(event){ //鼠标事件的button属性检测 
if(document.implementation.hasFeature("MouseEvent","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){ //跨浏览器字符编码---charCode属性检测 
if(typeof event,charCode=="number"){ 
return event.charCode; 
}else{ 
return event.keyCode; 
} 
} 
}

事件委托:事件处理程序过多的解决方案,减少内存并且提高性能;
模拟事件:这个比较复杂,要慢慢研究;
Javascript 相关文章推荐
javascript 写类方式之六
Jul 05 Javascript
JavaScript Tips 使用DocumentFragment加快DOM渲染速度
Jun 28 Javascript
Jquery+WebService 校验账号是否已被注册的代码
Jul 12 Javascript
JavaScript 字符串处理函数使用小结
Dec 02 Javascript
jQuery多条件筛选如何实现
Nov 04 Javascript
jQuery使用$.each遍历json数组的简单实现方法
Apr 18 Javascript
JavaScript对象数组排序实例方法浅析
Jun 15 Javascript
jQuery实现动态添加tr到table的方法
Dec 26 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
Dec 28 Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
Feb 16 Javascript
关于express与koa的使用对比详解
Jan 25 Javascript
微信小程序如何加载数据库真实数据的实现
Mar 04 Javascript
js选取多个或单个元素的实现代码(用class)
Aug 22 #Javascript
javascript动态加载三
Aug 22 #Javascript
javascript动态加载二
Aug 22 #Javascript
javascript动态加载实现方法一
Aug 22 #Javascript
原生js写的放大镜效果
Aug 22 #Javascript
window.open不被拦截的实现代码
Aug 22 #Javascript
EASYUI TREEGRID异步加载数据实现方法
Aug 22 #Javascript
You might like
PHP extract 将数组拆分成多个变量的函数
2010/06/30 PHP
PHP文件缓存类示例分享
2015/01/30 PHP
PHP代码实现爬虫记录――超管用
2015/07/31 PHP
用JS实现一个TreeMenu效果分享
2011/08/28 Javascript
最简单的js图片切换效果实现代码
2011/09/24 Javascript
js 在定义的时候立即执行的函数表达式(function)写法
2013/01/16 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
jQuery插件EnPlaceholder实现输入框提示文字
2015/06/05 Javascript
jquery实现最简单的滑动菜单效果代码
2015/09/12 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
Bootstrap导航条鼠标悬停下拉菜单
2017/01/04 Javascript
深入理解JavaScript中的for循环
2017/02/07 Javascript
详解vuex中mapState,mapGetters,mapMutations,mapActions的作用
2018/04/13 Javascript
浅谈Vue组件及组件的注册方法
2018/08/24 Javascript
vue2.0 如何在hash模式下实现微信分享
2019/01/22 Javascript
详解新手使用vue-router传参时注意事项
2019/06/06 Javascript
Vue代码整洁之去重方法整理
2019/08/06 Javascript
Python中的lstrip()方法使用简介
2015/05/19 Python
windows下python之mysqldb模块安装方法
2017/09/07 Python
python模块之subprocess模块级方法的使用
2019/03/26 Python
python:解析requests返回的response(json格式)说明
2020/04/30 Python
如何利用Python动态模拟太阳系运转
2020/09/04 Python
scrapy头部修改的方法详解
2020/12/06 Python
CSS3制作半透明边框(Facebox)类似渐变
2012/12/09 HTML / CSS
HTML5实现移动端复制功能
2018/04/19 HTML / CSS
AE美国鹰美国官方网站:American Eagle Outfitters
2016/08/22 全球购物
Waterford英国官方网站:世界上最受欢迎的优质水晶品牌
2019/08/17 全球购物
高级电工工作职责
2013/11/21 职场文书
水利公司纪检监察自我鉴定
2014/02/25 职场文书
篮球比赛口号
2014/06/10 职场文书
自动化专业毕业生求职信
2014/06/18 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
12.4法制宣传日标语
2014/10/08 职场文书
结婚通知短信怎么写
2015/04/17 职场文书
感谢信的技巧及范例
2019/05/15 职场文书