位置: 编程技术 - 正文

javascript浏览器兼容教程之事件处理(JavaScript浏览器扩展)

编辑:rootadmin

1. window.event

【分析说明】先看一段代码

  以上代码在IE运行的结果是[object],而在Firefox无法运行。

  因为在IE中event作为window对象的一个属性可以直接使用,但是在Firefox中却使用了W3C的模型,它是通过传参的方法来传播事件的,也就是说你需要为你的函数提供一个事件响应的接口。

【兼容处理】添加对event判断,根据浏览器的不同来得到正确的event:

2. 键盘值的取得

【分析说明】IE和Firefox获取键盘值的方法不同,可以理解,Firefox下的event.which与IE下的event.keyCode相当。关于彼此不同,可参考《键盘事件中keyCode、which和charCode 的兼容性测试》

【兼容处理】复制代码

3. 事件源的获取

【分析说明】在使用事件委托的时候,通过事件源获取来判断事件到底来自哪个元素,但是,在IE下,event对象有srcElement属性,但是没有target属性;Firefox下,even对象有target属性,但是没有srcElement属性。

【兼容处理】

4. 事件监听

【分析说明】在事件监听处理方面,IE提供了attachEvent和detachEvent两个接口,而Firefox提供的是addEventListener和removeEventListener。

【兼容处理】最简单的兼容性处理就是封装这两套接口:

  需要特别注意,Firefox下,事件处理函数中的this指向被监听元素本身,而在IE下则不然,可使用回调函数call,让当前上下文指向监听的元素。

5. 鼠标位置

【分析说明】IE下,even对象有x,y属性,但是没有pageX,pageY属性;Firefox下,even对象有pageX,pageY属性,但是没有x,y属性。

【兼容处理】使用mX(mX = event.x ? event.x : event.pageX;)来代替IE下的event.x或者Firefox下的event.pageX。复杂点还要考虑绝对位置。

推荐整理分享javascript浏览器兼容教程之事件处理(JavaScript浏览器扩展),希望有所帮助,仅作参考,欢迎阅读内容。

javascript浏览器兼容教程之事件处理(JavaScript浏览器扩展)

文章相关热门搜索词:javascript浏览器下载,javascript浏览器怎么打开,javascript浏览器怎么打开,JavaScript浏览器打开,JavaScript浏览器扩展,JavaScript浏览器打开,JavaScript浏览器打开,JavaScript浏览器打开,内容如对您有帮助,希望把文章链接给更多的朋友!

深入理解javascript中的立即执行函数(function(){…})() javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法也是对javascript语言特性

javascript setinterval 的正确语法如何书写 前几天我用setinterval写了一个小程序,这个setinterval是用来干什么的我就不解释了。写的方法在其它的浏览器里都能用,后来测试组的同事拿去一测就出

js常用数组操作方法简明总结 //javascript中的数组分割varcolors=["red","green","blue"];//alert(colors.toString());alert(colors.join("|"));//返回结果是red|green|bluevarcolors=["red","green","blue",null];alert(colors.join

标签: JavaScript浏览器扩展

本文链接地址:https://www.jiuchutong.com/biancheng/370159.html 转载请保留说明!

上一篇:ECMAScript6的新特性箭头函数(Arrow Function)详细介绍(ecmascript6入门)

下一篇:深入理解javascript中的立即执行函数(function(){…})()(深入理解新发展理念,推进供给侧结构性改革 心得体会)

  • 旧面包车能跑长途吗
  • 防伪税控系统
  • 递延所得税负债转回怎么理解
  • 个人所得税中社保填写在哪昆山
  • 收到货款会计分录怎么做
  • d级企业预缴增值税什么时候可以退回
  • 完税凭证可以补办吗
  • 企业商品收入确认的依据
  • 用友软件在哪里
  • 工业会计成本核算分录
  • 属于制造费用的有
  • 税控设备可以跨省销售吗
  • 增值税可以不计提,直接缴纳吗
  • 不需要缴纳增值税的有
  • 发票停票会自动恢复吗
  • 小规模纳税人是公司还是个人
  • 合同税率16%调整到13%怎么算
  • 1697508513
  • 航空公司票价怎么定的
  • 1697510472
  • 未认证的进项税账务处理
  • 清华同方bios通用密码(thtfpc)
  • qq能上,网页打不开怎么回事
  • 资本成本的组成
  • 正确的PHP匹配UTF-8中文的正则表达式
  • windows无法自动检测网络代理设置该怎么办
  • php数组函数输出《咏雪》里有多少"片"字
  • 资产处置损益计税基础是什么
  • 递延所得税资产和负债怎么理解
  • framework4.0怎么打开
  • php递归函数详解
  • 电子发票能否作废
  • 负债大于资产是逆差还是顺差
  • 社保基数和实际工资怎么算
  • 火爆全网的头像男
  • node.js deno
  • openeuler基于
  • python编程从入门到精通第三版
  • 资产减值损失一经计提不得转回
  • 定额发票在哪查真伪
  • 为什么增值税最后的负税人是消费者企业还要尽量少交税
  • 暂估入库成本的会计分录
  • 帝国cms模板文件放在哪里
  • 安装mysql时出现错误
  • sql性能优化方法
  • 公司给部分员工长期停工怎么办
  • 小微企业0税务报税流程
  • 建筑企业的收入特点有哪些
  • 对方公司已注销还能起诉吗
  • 托收承付方式销售商品是什么意思
  • 房地产开发成本测算套表(全过程)
  • 汇算清缴预缴
  • 机动车转让后未过户原车主要承担赔偿责任
  • 小规模纳税人做账分录全套流程最新
  • 已启动申报比对异常怎样才能作废,还没过税期
  • 在mysql中使用mysql workbench创建数据库
  • Win10 64位系统下鼠标右键刷新没反应的解决方案
  • 完美解决英语怎么说
  • Mac OS X 10.9 Mavericks系统怎么激活?
  • centos6创建文件
  • VirtualBox虚拟机免费
  • centos bz
  • window8.1重装系统
  • linux双网卡双ip配置
  • win8切换语言
  • win7睡眠唤醒设置密码
  • win10怎么修改桌面图标样式
  • vr moke
  • glUnmapBuffer
  • android开发地图应用
  • 用unity做2d游戏
  • arp绑定用户直接上网是什么意思
  • javascript编程语言
  • nodejs实现微信公众号发红包
  • unity中assets文件夹的作用
  • jquery基础教程详解
  • 地税局 业务
  • 电子税务局税务数字证书登录
  • 电子发票开票失败怎么回事?
  • 计财科科长是什么级别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设