位置: 编程技术 - 正文

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

  • 企业税前扣除凭证包括增值税发票吗
  • 怎么计提固定资产折旧科目
  • 报销用的发票抬头写什么
  • 住宿费电子普票可以抵扣进项税额
  • 接受的捐赠收入要交税吗
  • 外企缴纳社保
  • 普通发票红字冲销发票怎么操作
  • 不动产入股需要交哪些税
  • 单位员工借款的认定
  • 企业发生的销售折让
  • 收到的发票开票人是管理员,这样可以吗?
  • 公司0转让要交哪些税
  • 机票改签费要开发票吗
  • 资产损失税前扣除
  • 企业结业后实收资本怎么处理?
  • 如何解决win10关机后usb还在供电
  • 报考中级会计的工作证明
  • 小规模纳税人免增值税的账务处理
  • windows 11预览版
  • 关于员工被辞退经济赔偿
  • PHP:Memcached::getStats()的用法_Memcached类
  • 农产品收购发票使用范围
  • 现金付款凭证是什么意思
  • 营业利润是怎么计算的?
  • PHP:mcrypt_enc_get_block_size()的用法_Mcrypt函数
  • 前端开发csdn
  • 附有销售退回条款的销售中,每一资产负债表日
  • 哪些房地产项目是国企
  • php.ini详解
  • Pinia(二)了解和使用Store
  • 收到进项发票当月能抵扣吗
  • vue内置指令实验总结
  • css 自定义变量
  • ChatGPT 的 10 种集成模式:从开源 AI 体验平台 ClickPrompt 中受到的启发
  • gbdrt
  • 用more命令查看文件内容
  • html用javascript
  • 年末应交税费怎么算
  • 代收代付业务
  • python多线程编程案例
  • 公司租赁员工的房屋
  • rust基础操作
  • 进货该怎么进
  • 土方开挖工艺标准
  • 开发支出在资产负债表填哪一栏
  • 申报表填完后下一步是什么
  • 申请个体工商户流程
  • shell取命令执行结果
  • 资产负债表一般由什么组成
  • 车船税款
  • 一般纳税人月销售额10万以下城建税
  • 薪酬范围怎么写
  • 设备租赁公司怎么样
  • 可抵扣进项税额的六种类型
  • 项目对公司的战略意义
  • 买车抵扣增值税超销项怎么算
  • 暂估入库成本差异
  • 实收资本挂在其他应收款现在股权转让
  • 对公收到几毛测试费怎么做账
  • mysql数据库视频
  • vs2008如何使用
  • 苹果电脑bim
  • Win7系统打印机共享无法保存打印机设置0x000006d9
  • window10如何修改电脑名称
  • Win7怎么开启存储感知
  • 附件中的应用程序
  • Android性能优化 武汉招聘
  • 简单解析空中三角测量的意义
  • node操作mongodb数据库
  • 原生javascript开发
  • bootstrap 下拉按钮
  • 深入理解计算机系统
  • node.js 生成pdf
  • 有没有改善
  • js显示word
  • java script教程
  • python twinter
  • 财税公司销售工作好做么
  • 江西省企业社会保险费缴费指南
  • 开采砂石
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设