IE FireFox 兼容性之 event
2015-11-12 17:02
169 查看
<HTML> <HEAD> <TITLE> New Document </TITLE> <script type="text/javascript"> function testEvent(){ var target = window.event.srcElement ; document.getElementById('result').innerHTML = target.tagName; } </script> </HEAD> <BODY> <div id="result"></div> <input type="button" value="点我" onclick="javascript:testEvent()"/> </BODY> </HTML>
这段代码在IE浏览器下的效果是,点击按钮,页面上显示“input”。但是在FireFox下点击按钮则会报错:window.event is undefined。这是因为在FireFox下window.event只能在事件发生的现场使用,也就是说,event变量必须在方法调用处被传入。再看下面的代码。
<HTML> <HEAD> <TITLE> New Document </TITLE> <script type="text/javascript"> function testEvent(number,ev){ var target = ev.srcElement || ev.target; document.getElementById('result').innerHTML = target.tagName+ number; } </script> </HEAD> <BODY> <div id="result"></div> <input type="button" value="点我" onclick="javascript:testEvent(20,event)"/> <script type="text/javascript"> //testEvent(); </script> </BODY> </HTML>
上面的代码在IE和FireFox下执行都能生效,且效果相同。上面的代码有几处需要注意:
1、传入调用方法的event变量一定要是“event”,其它字符不能代替。但是位置不限。
2、event变量的点击对象获取在IE和firefox下也是不同的。IE下使用 .target获取,FireFoxe则要使用.srcElement获取。
其它兼容性问题
1、IE中 event对象有x,y属性,没有pageX,pageY属性;FireFox中有pageX,pageY属性,没有x,y属性。
2、。。。
相关文章推荐
- linux/windows下开发yii项目
- 转意字符问题
- Sql服务定时重启
- word-wrap/word-break/white-space
- 链结构
- 软件测试
- iOS开发:iOS的整体架构以及API介绍
- 【c++版数据结构】之循环队列的实现
- 第 21 章 Voter表决者
- Tomcat的bin目录下的startup.bat和Tomcat7.exe的区别
- 拒绝过劳死,码农们如何养生?
- Linux下利用glibc2库和crypt()函数生成用户密码
- Linux下利用glibc2库和crypt()函数生成用户密码
- android service完全解析(上)
- 最全的运放典型应用电路及分析
- Android 生成keystore的两种方式(签名文件生成方式)
- 在Windows7环境下使用GIT BASH免输入密码
- 有关curl命令详解
- AsyncTask
- ruby 开发神器 rubymine的使用教程