1. 程式人生 > >IE 與其他瀏覽器不一樣的特性

IE 與其他瀏覽器不一樣的特性

1、表示發生事件:

(1)非IE瀏覽器下,事件對應的函式有一個隱藏的變數e,表示發生事件。

(2)IE下,不需要e變數,window.event表示發生事件。

解決方案:用e||window.event來相容。



2、觸發事件物件(觸發事件的元素被認為是目標target):

(1)IE下,window.event物件有srcElement屬性,但沒有target屬性。

(2)Firefox下,e物件有target屬性,但沒有srcElement屬性。

(3)Chrome下,e物件同時具有target和srcElement屬性。

解決方案:event.srcElement
? event.srcElement : event.target來相容。 3、按鍵碼(字元程式碼): (1)IE下,window.event物件只有keyCode屬性。 (2)FireFox下,e物件有which和charCode屬性。 (3)Opera下,e物件有keyCode和which屬性。 (4)Chrome下,e物件有keyCode、which和charCode屬性。 解決方案:用e.keyCode || e.which || e.charCode來相容。 4、阻止事件的預設行為: (1)IE 中阻止事件的預設行為需要將window.event.returnValue
屬性設定為false。 (2)非IE阻止事件的預設行為需要呼叫 e.preventDefault() 方法。 解決方案:條件判斷瀏覽器是否具有event.preventDefault再做相應處理。 5、阻止事件冒泡: (1)IE阻止事件冒泡需要設定window.event.cancelBubble = true。 (2)非IE阻止事件冒泡需要呼叫e.stopPropagation()。 解決方案:條件判斷瀏覽器是否具有event.stopPropagation再做相應處理。 6、IE中消除list的原點僅需margin:0即可達到最終效果;FIrefox需要設定margin:0
;padding:0以及list-style:none;