位置: 编程技术 - 正文

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

  • 出口退免税是什么意思
  • 一个季度超过30万怎么做账
  • 小企业会计准则下退企税分录
  • 城市维护建设税为什么是流转税
  • 私车公用车险是个人名字可报销吗
  • 活动经费属于什么费用
  • 端午节福利计入什么科目
  • 管理费用期末有余额么
  • 财付通转账手续费多少
  • 企业资产重组是不定期清查吗
  • 发生成本支出发票未到
  • 车间员工的质量管理制度
  • 职工个人代扣款如何做账
  • 质量保证金的预留比例是多少
  • 化工类资质建筑企业有哪些
  • 日用品增值税税率
  • 各税种会计分录
  • 专用发票的税票号码看哪里?
  • 增值税报表附表三如何填写
  • 在外地的分公司可以独立核算开发票吗
  • 增值税进项税额转出的账务处理
  • 税务局如何检查上传的发票
  • 人工智能对财务人员的挑战与机遇
  • 生产企业是否可以兼营外贸业务
  • 个体工商户做账可以做工资吗
  • 新成立的有限公司
  • 工会收到单位拨款怎么办
  • office自定义功能区
  • 刚注册的有限公司可以马上注销吗
  • php两个多维数组合在一起
  • 个人二手车转让协议书免费
  • win11如何调整鼠标中键
  • 2014年最佳阵容
  • qqlogin.exe是什么进程 qqlogin.exe应用程序错误解决办法
  • nerosvc.exe - nerosvc是什么进程 有什么用
  • 搬迁收入增值税
  • 收到厂家赠送商品入库
  • 认缴没有实缴怎么做账
  • 小规模纳税人进项票可以抵扣吗
  • lxml&xpath一站式教学
  • ps渐变透明效果怎么弄
  • 研发 专利
  • 售后租回交易的第二年利息怎么算
  • 怎么样写合同书
  • 年底本年利润需要结转吗
  • 汇算清缴期间费用保险费是什么
  • sqlserver存储过程if语句
  • sql server的go
  • 生育津贴现在可以打个人账户么
  • jdbc连接mysql数据库代码
  • 商场返券计算公式
  • 小规模开发票免税如何记账?
  • 员工在工伤
  • 增值税运费发票清单怎么开
  • 付款后没有发票怎么办
  • 外贸企业的汇率怎么算
  • 运输服务和运输费有什么区别
  • 增值税的专用发票的相关规定
  • 金蝶多核算项目怎么查一个项目下的其他项目
  • 餐饮服务属于什么职业
  • 总结下半年工作计划
  • sql server如何修改表名
  • SQLServer 通用的分区增加和删除的算法
  • mac怎么用win系统
  • win7怎么彻底删除文件
  • mac应用商店未能完成购买
  • Fedora 9.0 Apache+PHP+MYSQL 环境安装
  • 老毛桃u盘启动盘制作工具怎么安装win10系统 老毛桃u盘安装win10系统图文教程
  • window10电池
  • cortanawin10在哪
  • windows自带软件有哪些
  • linux软件列表
  • win10老是弹提示
  • ExtJS GridPanel 根据条件改变字体颜色
  • jquery自动完成插件
  • 置顶怎么设置
  • jquery的优点和缺点
  • 面向对象三大基本特性
  • 用if函数计算个人应交所得税
  • 江苏省纳税信息查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设