`
DBear
  • 浏览: 228202 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类

IE FireFox 兼容之 window.event

阅读更多

先看一段代码:

 

<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、待续。。。。

 

 

 

 

 

分享到:
评论

相关推荐

    window.event.keyCode兼容IE和Firefox实现js代码

    Javascript 代码 代码如下: function keyNumAll(evt){ //兼容IE和Firefox获得keyBoardEvent对象 evt = (evt) ? evt : ((window.event) ? window.event : “”); var key = evt.keyCode?evt.keyCode:evt.which;//...

    网页右键ie不支持event.preventDefault和event.returnValue (需要加window)

    网页右键ie不支持event.preventDefault和event.returnValue (需要加window) ,需要的朋友可以参考一下

    js兼容问题 详解

    以下以 IE 代替 Internet Explorer,以 MF/FF 代替 Mozzila Firefox //window.event IE:有window.event对象 FF:没有window.event对象。可以通过给函数的参数传递event对象。如onmousemove=doMouseMove(event)...

    IE与FireFox的兼容性问题分析

    如onmousemove=doMouseMove(event) 鼠标当前坐标 IE:event.x和event.y。 FF:event.pageX和event.pageY。 通用:两者都有event.clientX和event.clientY属性。 鼠标当前坐标(加上滚动条滚过的距离) IE:event....

    ie与firefox下的event使用说明与详细区别

    [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]下面是关于ie与firefox event的详细区别window.event IE:有window.event对象 FF:没有window.event对象。可以通过给函数的参数传递event对象。如onmousemove=...

    IE浏览器兼容Firefox的JS脚本的代码

    父控件下的子控件 8.XmlHttp 1.window.event兼容脚本 function getEvent(){ //获取浏览器事件,同时兼容ie和ff的写法 if(document.all) return window.event; func=getEvent.caller; while(func!=null){ var arg0=...

    Javascript下IE与Firefox下的差异兼容写法总结

    如onmousemove=doMouseMove(event) 获取鼠标当前坐标 IE:event.x和event.y。 FF:event.pageX和event.pageY。 通用:两者都有event.clientX和event.clientY属性。 鼠标当前坐标(加上滚动条滚过的距离) IE:event....

    JavaScript兼容浏览器FF/IE技巧

    以下以 IE 代替 Internet Explorer,以 MF/FF 代替 Mozzila Firefox //window.event IE:有window.event对象 FF:没有window.event对象。可以通过给函数的参数传递event对象。\u5982onmousemove=

    解决FireFox下[使用event很麻烦]的问题

    所以为了兼容IE与FireFox,一般的事件处理方法为: btn.onclick=handle_btn_click; function handle_btn_click(evt) { if(evt==null)evt=window.event;//IE //处理事件. } 对于简单的程序,这不算麻烦. 但对于一些...

    同时兼容IE和FireFox的事件处理event代码--添加文件上传例子

    NULL 博文链接:https://liangq.iteye.com/blog/1456873

    JS用 或 || 来兼容FireFox!

    Untitled Document 打开 打开 打开 [Ctrl+A 全选 注:如需引入外部Js需刷新才能... 在IE下,evt 就会指向:window.event,在fireFox下,就会指向那个默认参数. 因为在IE下 evt || window.event 相当于: null

    解决 FireFox 下[使用event很麻烦] 的问题.

    所以为了兼容IE与FireFox,一般的事件处理方法为: btn.onclick=handle_btn_click; function handle_btn_click(evt) { if(evt==null)evt=window.event;//IE //处理事件. } 对于简单的程序,这不算麻烦. 但对于一些...

    ie和firefox不兼容的解决方法集合

    1、firefox和ie事件event处理 在ie中,事件对象是作为一个全局变量来保存和维护的。 所有的浏览器事件,不管是用户触发 的,还是其他事件, 都会更新window.event 对象。 所以在代码中,只要轻松调用 window.event 就...

    46种常见的浏览器兼容性问题大汇总

    7. firefox与IE的父元素(parentElement)的区别 3 8. document.formName.item(”itemName”) 问题 3 9. 集合类对象问题 3 10. 自定义属性问题 3 11. input.type属性问题 3 12. event.srcElement问题 3 13. body...

    禁用Tab键JS代码兼容Firefox和IE

    if(isie){//IE浏览器 key = window.event.keyCode; ev = window.event; }else{//火狐浏览器 key = e.which; ev = e; } alert&#40;key&#41;; if(key==9){//IE浏览器 if(isie){ ev.keyCode=0; ev.returnValue=

    js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome

    event为键盘事件,对于chrome,firefox,IE(Edge),IE10,IE9均能支持function自带的e,而ie8以下只能识别windows.event,所以一般兼容写法为:event=event||window.event。获取按键码一般是event.keyCode,这个对...

    Firefox和IE浏览器兼容JS脚本写法小结

    1.window.event兼容脚本 function getEvent(){ //获取浏览器事件,同时兼容ie和ff的写法 if(document.all) return window.event; func=getEvent.caller; while(func!=null){ var arg0=func.arguments[0];...

Global site tag (gtag.js) - Google Analytics