1. 程式人生 > >火狐瀏覽器獲取event

火狐瀏覽器獲取event

firefox edr ack track rip article return asc arguments

因為各種瀏覽器對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