js IE和Firefox下event处理

如果在使用javascript的时候涉及到event处理,就需要知道event在不同的浏览器中的差异,因为javascript的事件模型有三种,它们分别是NN4、IE4+和W3C/Safari;这也造成了在不同的浏览器中处理event的差异,这里结合一些零碎的代码来说明如何做到event在IE4+和Firefox下的正常工作。首先看如下代码:

function doEventThing(eventTag){    
   var event = eventTag||window.event;    
   var currentKey = event.charCode||event.keyCode;    
   var eventSource =window.event.srcElement||eventTag.target;    
}
   
  这段代码主要是为了处理键盘事件的,在IE中event作为window对象的一个属性可以直接使用,但是在Firefox中却使用了W3C的模型,它是通过传参的方法来传播事件的,也就是说你需要为你的函数提供一个事件响应的接口,在上述函数中,
eventTag扮演的就是这个角色。
  var event = eventTag||window.event;
  这段代码可以根据浏览器的不同来得到正确的event,并在程序中使用,如果在IE4+下面使用这段代码,因为eventTag为null可以保证event = window.event,但是如果在Firefox下运行的话则因为手工的给定了eventTag所以var event = eventTag。根据对这一段代码的分析我们也不难看出可以对doEventThing方法进行如下的改造(因为javascript允许我们在定义function的时候不明确指出参数的数量):

function doEventThing(){    
    var event = arguments[0]||window.event;    
     //other code    
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/417538.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线程打印状态_Java线程状态的转换

根据上面关于线程状态的介绍我们可以得到下面的线程状态转换图:BLOCKED与RUNNABLE状态的转换我们在上面说到:处于BLOCKED状态的线程是因为在等待锁的释放。假如这里有两个线程a和b, a线程提前获得了锁并且暂未释放锁,此时b就处于BLOCKED状态。我们先来看一个例子:初…

phpStudy中Xdebug设置 phpStorm设置

在windows系统使用phpstduy集成环境,PHP版本为7.0.1,参考网上文章配置后,在phpinof()中没有xdebug信息, 解决方法,拷贝widzrd.php中提示的文件路径,重启phpstudy后,终于有了xdebug。 1.查看php信息&#x…

SQLSERVER EXCEPT运算符=ORACLE MINUS

Oracle中 MINUS 指令是运用在两个 SQL 语句上。它先找出第一个 SQL 语句所产生的结果,然后看这些结果有没有在第二个 SQL 语句的结果中。如果有的话,那这一笔资料就被去除,而不会在最后的结果中出现。如果第二个 SQL 语句所产生的结果并没有存…

音乐 美术 劳技 计算机教研组工作总结,音体美信息教研组工作总结

音体美信息教研组工作总结本学期音体美信息技术教学工作围绕教研室,结合教导处教研工作安排和音体美劳信息学科特点,以新课程理念建设为核心,以提高教师新课程改革的实践与创新能力为重点,以集中教研培训、校本培训和课改实践课相…

python3.5安装scrapy_Python3.5 win7安装scrapy

1、搭建虚拟环境pip install virtualenvwrapper2、指定虚拟环境存放文件路径2.1:E盘新建EvEvns2.2:计算机->高级系统设置->环境变量->系统变量->新建变量名:WORKON_HOME变量值:E:\Evns保存并退出3、创建虚拟环境mkvirtualenv py34、进入虚拟…

flex 点击空格键会有以前点击过的事件的保留

点击了一个按钮那个就会有焦点。 flex的空格键是默认触发有焦点的按钮的点击事件的。 所以你要在那里按钮事件里面写一个this.setFocus()让焦点消失,就可以去除空格键点击的效果了。

GOAndroid的安装和配置

android环境的配置还是比较复杂的,特别对于我这样一直使用mfc的程序员来说,有很多观念上需要转变。好在配置成功后就能够不断复用,那么这样的问题值得整理出来 一、安装jdk 二、解压adt-bundle-windows(GO)。其中sdk是配置好的 三、配置环境变…

物理与计算机信息工程学院,泉州师范学院物理与信息工程学院

泉州师范学院坐落在全国首批历史文化名城、著名侨乡、国际花园城市——福建省泉州市,有东海和诗山两个校区,占地1185亩。东海主校区位于晋江和洛阳江两江交汇处,携江临海,极目古港沧澜;诗山校区南倚高盖名山&#xff0…

开发项目之考研计划_软件测试之项目测试计划模板

1. 引言1.1. 文档版本1.2. 项目情况1.3. 预期读者----部门经理----项目经理----测试经理----需求分析师----开发工程师----测试工程师----XXX银行经理----XXX基金公司经理1.4. 项目质量定义本项目软件测试是为了保障,XXX财务核算系统在应对营改增政策调整的系统升级…

ie9支持string.trim()

忽然间发现 ie9支持string.trim()! 搞得我以为我写的代码是对的,结过在别的浏览器上一测就报错了。

12.18栈、队列练习题

12.18栈、队列练习题 要求: 栈和队列是线性数据结构的代表,结构简单,易于理解。 1、Noi网站上的必须全做完。 2、codevs上栈和队列的所有等级题全部做 3、线性结构中有个知识点是哈希,1229、1553必须做,不明白哈希的同…

计算机软件总体上分为,山大2017春季班期末考试 信息系统B

管理信息系统模拟题一、填空1、管理信息系统及其子系统组成一个关系图,其关系图中的子系统的中英含义分别是( ),(),()()和( )。2、根据美国国家标准学会(ANSI)于1975年规定了数据库按三级体系结构组织的标准,这就是有名的SPARC分级结构。这三…

KeyCode对照表

字母和数字键的键码值(keyCode)按键键码按键键码按键键码按键键码 A65J74S83149B66K75T84250C67L76U85351D68M77V86452E69N78W87553F70O79X88654G71P80Y89755H72Q81Z90856I73R82048957数字键盘上的键的键码值(keyCode)功能键键码值(keyCode)按键键码按键键码按键键码按键键码 0…

随机效应估算与固定效应估算_一般混合线性模型固定效应、随机效应与另一随机向量的联合估计...

一般混合线性模型固定效应、随机效应与另一随机向量的联合估计周永正【期刊名称】《数学的实践与认识》【年(卷),期】2011(041)019【摘要】讨论一般混合线性模型中固定效应β、随机效应ξ(i1,2,…,k)与另一随机向量δ的联合估计,得到了β、ξi(i1,2,…,k)及δ的线性组合的最佳线…

小型移动 webApp Demo 知识点整理

包括内容: css初始化、css全局设置、常用meat标签、rem适配、flex布局、相关技巧(手势库使用、多行截字、1像素边线、点击状态、placeholder居中等) reset 引用 normalize.css css全局设置 包括字体、行高、默认webkit浏览器属性重置 meta标签(禁用长按…

2020计算机领域前沿热门技术,CFP: ICPCSEE 2020 (SCI or EI Indexd) 第6届国际计算机前沿大会...

ICPCSEE 2020第六届国际计算机前沿大会CALL FOR PAPER征稿通知(SCI or EI Indexed)September 18-21,2020Taiyuan, ChinaThe 6th International Conference of Pioneering Computer Scientists, Engineers and Educators(ICPCSEE)2020(http://2020.icpcsee.org) will be held in…

前端学习(2218):react元素渲染之函数式函数式编程

index.js import React from react; import ReactDOM from react-dom; import ./index.css; import App from ./App; import { tsPropertySignature } from babel/types;//<app/>js的普通对象 /*let app < App / >let root document.getElementById(root)let h1…

js 确定主窗体是否存在

if(typeof(window.opener)!object) {alert(主窗体存在)}