1. 程式人生 > >js瀏覽器 event || window.event相容性寫法

js瀏覽器 event || window.event相容性寫法

Js瀏覽器對event 和window.event寫法不同

在IE/Opera中,用window.event寫法,

在Firefox裡面,  用event寫法。

   event=event || window.event; 
  event.preventDefault();


獲取事件物件的方法也不一樣(產生事件的源eg:哪個按鈕按下的):

在IE中,用window.event.srcElement,
在Firefox裡面,用 event.target。

opera中兩個都能用。

  1. //在IE 中srcElement 表示產生事件的源,比如是哪個按鈕觸發的onclick 事件,火狐中則是target。  
  2.                 //window.event.srcElement取得引發onclick事件的控制元件(表單元素)。在火狐中srcElement無效(要用target)  
  3.                 var obj = evt.srcElement ? evt.srcElement : evt.target;   

event的跨瀏覽器測試 
//Firefox中在寫關於event的函式的時候,必須把event物件作為引數傳遞給函式,這樣才能使用event物件 
function doTestEvent( evt ) 

//如果是IE/Opera,我們就用 srcElement 來獲取觸發事件的物件 


//如果是Firefox,我們就用 target 來獲取觸發事件的物件 
var src = evt.srcElement ? evt.srcElement : evt.target; 
alert( src.value ); 

//--> 
//***********************************
這裡順便說一下判斷滑鼠按鍵的問題。 
在 IE 裡面 
左鍵是 window.event.button = 1 
右鍵是 window.event.button = 2
中鍵是 window.event.button = 4
沒有按鍵動作的時候 window.event.button = 0
在 Firefox 裡面 

左鍵是 event.button = 0 
右鍵是 event.button = 2
中鍵是 event.button = 1 
沒有按鍵動作的時候 event.button = 0
在 Opera 7.23/7.54 裡面 
滑鼠左鍵是 window.event.button = 1
沒有按鍵動作的時候 window.event.button = 1 
右鍵和中鍵無法獲取 
而在 Opera 7.60/8.0 裡面 
滑鼠左鍵是 window.event.button = 0
沒有按鍵動作的時候 window.event.button = 0
右鍵和中鍵無法獲取 

http://blog.csdn.net/seminmredoxu/article/details/6856253

http://www.cnblogs.com/wayne173/p/3741848.html