位置: 编程技术 - 正文

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(){…})()(深入理解新发展理念,推进供给侧结构性改革 心得体会)

  • 金税开票软件下载安装
  • 广告公司的税务
  • 公司间借款利息增值税进项能否抵扣
  • 哪些费用可以放到研发费用中
  • 企业买车算固定收入吗
  • 直接收到货款也要走应收账款吗
  • 小规模纳税人如何升级为一般纳税人
  • 借支单是借方还是贷方
  • 打印复印费的明细怎么开?
  • 行政单位专项资金核算方法
  • 以前的货款用银行账户吗
  • 通用机打发票现在还有吗
  • 关于增值税发票开具的最新规定
  • 国家对发票开具时间有没有具体规定?
  • 银行转账取得的收据
  • 企业或公司的证明怎么弄
  • 向客户发放,赠品怎么写
  • 向境外企业支付服务费代扣代缴什么税
  • 存货损失进项税
  • 消费税和购置税怎么算
  • 电脑的时间不准了怎么调
  • 高薪技术企业的有效期是几年
  • 个人之间股权转让印花税怎么交
  • 电脑eb是什么意思
  • 计算完工产品成本
  • apache去掉php后缀
  • 电子发票记账清单入账
  • 普通发票的开票规定
  • web前后端连接
  • 项目费用怎么入账
  • php显示图片代码
  • 行政事业性收费是什么意思
  • 文化事业建设费税收优惠政策2023
  • 织梦内容页模板修改
  • 年终企业所得税怎么结转
  • php 上传
  • 无偿提供房屋使用证明有什么后果
  • 预付卡发票如何开
  • 债务豁免的账务处理
  • 税务企业类型分为哪几种
  • 银行借记和贷记一样吗
  • 企业利润分配的含义
  • 应计入应付款项的科目
  • 有形动产租赁属于经营租赁吗
  • 小规模申报表填写模板
  • 股权转让中土地要否缴纳增值税
  • 税务滞纳金计入什么会计科目
  • 购买商品属于什么费用
  • 你知道实施“营改增”对企业有哪些积极的效应么?
  • 租赁财产的残值处理
  • 微信怎么帮别人代缴社保
  • 应付账款暂估会计分录怎么写
  • 购买税控系统分录
  • mysql分区是什么意思
  • win7激活怎么关闭
  • windows优化软件
  • linux系统讲解
  • win8默认输入法设置
  • ip冲突不能上网怎么解决
  • win10系统开机蓝屏得重启后才能开机
  • 选择打开程序
  • win8隐藏的文件夹怎么找出来
  • div垂直居中怎么设置css
  • js观察者模式和发布订阅
  • 网页制作颜色搭配
  • 骨骼动画程序设计
  • ReactNative 之FlatList使用及踩坑封装总结
  • js动态生成页面
  • python该怎么用
  • js限制输入字符长度
  • android设置移动网络灰色是什么原因
  • canvas+javascript
  • 用python画roc曲线
  • 百度地图一口价为什么还多收费
  • 离线开票金额为0
  • 金税盘联网步骤
  • 小规模纳税人改成一般纳税人怎么改
  • 温州电子税务局电话号码
  • 销售免税货物可以抵扣进项税吗
  • 杨静儿多少岁
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设