火狐浏览器获取event

Posted brucemengbm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了火狐浏览器获取event相关的知识,希望对你有一定的参考价值。

因为各种浏览器对js文件的解析不同。加上各种浏览器的内核不一样,以及内核版本号也不一样,所以获取event的方式也不一样。

使用原始的方式获取event是

这种:

document.body.onclick=function(e){
	e=e||window.event;
};

实际上大家会想为什么要又一次赋值。这是由于event是瞬间有效,所以要进行保存。

这中方式能够实现,可是要保证传递的參数有e。

另一种方式是这种:

upAndDownListener : function(obj){

		var ev = document.all ?

window.event : event; if (ev.keyCode == 13) { this.checkDouble(obj); defaultTrendGroup.trendRedraw(); ev.returnValue = false; } }


这个时候能够实现获取event,可是在Firefox浏览器下一直报错,可是程序还能运行下去。

以下这样的方式是能够解决另外一种方式的问题:


upAndDownListener : function(obj){

		var ev = document.all ? window.event : arguments[0] ?

arguments[0] : event; if (ev.keyCode == 13) { this.checkDouble(obj); defaultTrendGroup.trendRedraw(); ev.returnValue = false; } },


这样的方式就能够解决在Firefox报错的问题了。


对于上面三种方式。在不同的情况下能够使用不同的方式。


以上是关于火狐浏览器获取event的主要内容,如果未能解决你的问题,请参考以下文章

火狐浏览器不能获取 event,解决js报错问题

火狐下window.event获取undefined问题

JavaScript常见火狐FirefoxIE浏览器兼容问题

一个兼容ie,火狐等浏览器的取消冒泡代码

ev||event 和event||ev

火狐和IE浏览器的兼容问题汇总