位置: 编程技术 - 正文

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

  • 自然人电子税务报税流程
  • 教育费附加的计征依据包括
  • 税点是什么费用
  • 全年交多少税可以退
  • 实收资本何时交税
  • 已认证发票对方红冲应该怎么做账
  • 如何知道一家公司是否可靠
  • 公司零申报怎么注销
  • 非货币性资产交换固定资产清理
  • 房产税按租金收入
  • 施工企业结算金额怎么算
  • 汇算清缴补交所得税会计分录小企业会计政策
  • 哪些可用商业汇票结算?
  • 个人投资借款长期不还要缴纳个人所得税吗?
  • 百旺红字发票申领流程
  • 单位固定资产出售账务处理
  • 专票入账暂不抵扣如何申报
  • 法人股东获得分红的规定
  • 出纳记账本如何手工记账
  • 自然人办税服务平台怎么登录和注册
  • 电子汇款收入是什么意思
  • 工资属于劳务收入吗
  • 一般纳税人简易计税会计分录
  • 华为鸿蒙怎么搞
  • 苹果专用win10镜像下载
  • 电脑默认网关不可以用
  • dcom进程
  • php的fopen
  • Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
  • 长期应付款项目的列示金额
  • 企业购买财务软件算什么费用
  • 三趾鹑是野鸡吗
  • laravel入门与实战:构建主流php应用开发框架
  • 人工智能讲解
  • 总账是按年还是按月结账
  • php返回数组
  • 残保金计税基数是什么
  • 施工企业应承担的主要责任和义务
  • 青苗补偿费归谁所有
  • 企业发生的咨询费应计入哪个科目
  • 公司抵押贷款的钱,可以转到私人账号
  • 基本户不注销会扣钱吗
  • 帝国cms破解授权
  • 一般纳税人不抵扣怎样交税
  • 期末应交增值税的会计科目怎么做
  • 递延收益分摊是当月还是次月
  • 企业自查发现以什么为主
  • 记账凭证错误的更正方法
  • 投资折价会计处理
  • 帮人家开税票对自己生意有影响么
  • 预提费用汇算清缴前取得发票
  • 地租钱不付如何为
  • 期初固定资产算收入吗
  • 增值税普通发票怎么开
  • 异地预缴增值税多交了怎么办,可以退吗
  • 个体户建账吗
  • centos的特点
  • 在unix操作系统中,账户的功能有哪些
  • mac如何修改hosts登录Googledrive
  • linux开启启动程序
  • Mac应用程序的格式
  • mmc.exe是什么
  • linux常用命令查看
  • win8使用教程和技能
  • win10系统中怎么安装安卓应用
  • cocos怎么用
  • js运算符种类
  • android应用程序开发的流程
  • html页面头部
  • unity4.5.3f3 和 Android的通信
  • jquery ajax后台返回list,前台用jquery遍历list的实现
  • linux中unzip解压完看不到文件
  • 每天一篇小练笔30字
  • Python的requests网络编程包使用教程
  • 山东农村土地补贴每亩多少
  • 江苏国税电子税务局开票流程
  • 我的电脑软件下载
  • 三免三减半是什么
  • 公司员工开始摆烂怎么办
  • 无偿赠送怎么做账
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设