位置: 编程技术 - 正文

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

  • 子女继承父母房产最新政策2023
  • 支付所得税的会计处理
  • 消费型增值税的特点的是( )
  • 生产车间的办公用品费计入
  • 取得交易性金融资产投资收益为什么在借方
  • 增值税何时需要交税
  • 转让土地使用权怎么交增值税
  • 古董卖给公司
  • 转增股如何计算资本公积金?
  • 银行转账短信提醒还要收费吗
  • 跨年的费用需要冲减
  • 预缴0.2%企业所得税计算方法
  • 开增值税专票交多少税费
  • 事业单位固定资产报废处置流程
  • 注销怎么做账
  • 内插法计算内部收益率公式
  • 企业向个人借款支付的利息
  • 住房补贴计入个人所得税吗
  • 企业发放贷款怎么做分录
  • 在windows7提供了一种什么技术
  • 企业所得税调增调减项目比例
  • 如何删除鸿蒙
  • AquariumDesktop.exe进程危险吗 AquariumDesktop是什么进程
  • 如何重装系统win7旗舰版
  • 财务费用明细科目有哪些
  • php iswriteable
  • 购买用友财务软件
  • 拉马克是哪国人
  • thinkphp 插件
  • 火山口湖成因
  • 企业所得税必须要季度缴纳吗
  • 新成立公司建账
  • transform模块
  • js快速入门教程
  • 园林绿化工程公司排名
  • 收押金退押金会计分录
  • 未开票收入如何做会计分录
  • 应付职工薪酬账户期末余额可能是
  • js逻辑表达式
  • 织梦自定义模型调用
  • DEDECMSV5.6将软件下载次数直接生成静态
  • Shading-JDBC、ShadingSphere、ShardingProxy 使用详解
  • 金税三期个人所得税申报
  • 加工费计入什么科目制造企业成本
  • 收到单位借款如何入账
  • 小企业外币业务包括
  • 无偿划拨土地需要提折旧吗
  • 利润与所有者权益的区别
  • 公司账户的钱如何转出
  • 认证未抵扣往哪里记
  • 出口产品开票注意事项
  • 公允价值的通俗理解
  • 农产品收购发票如何抵扣进项税
  • 应收账款多收了退回怎么做账
  • 给法人交社保,不发工资可以吗
  • 财务会计属于什么职位类别
  • 库存商品核算流程是怎样的
  • SQL server字符串存数据库大还是二进制大
  • mysql很卡
  • 苹果手机价格
  • 容器内存限制
  • 微软为什么放弃win10
  • 怎么改电脑windows7
  • 加载的读音
  • postgres.exe是什么进程 postgres进程查询
  • linux 系统升级
  • extjs form textfield的隐藏方法
  • 3ds怎么用3ds格式
  • nodejs的socket
  • css对象
  • 发送邮件python
  • JQuery datepicker 用法详解
  • 网络ping大包
  • 搭建maven开发环境
  • python xml.etree.ElementTree遍历xml所有节点实例详解
  • JavaScript window.setTimeout() 的详细用法
  • Android EventBus实战
  • gridlayout用法
  • 荆州区国税局
  • 税务局工会
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设