js瀏覽器 event || window.event相容性寫法
阿新 • • 發佈:2019-02-13
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中兩個都能用。
-
//在IE 中srcElement 表示產生事件的源,比如是哪個按鈕觸發的onclick 事件,火狐中則是target。
- //window.event.srcElement取得引發onclick事件的控制元件(表單元素)。在火狐中srcElement無效(要用target)
- 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