1

由於我沒有時間討論的原因,我爲IE 8編碼(僅),並且需要使用element.fireEvent('eventname', eventObject)方法。這裏是我的代碼:在IE中設置srcElement結果爲空

var divObj = document.getElementById('div_id'); 
var evObj = document.createEventObject(); 
evObj.x = 0; evObj.y = 0; 
evObj.srcElement = divObj; 
evObj.type = 'onmousedown'; 
divObj.fireEvent('onmousedown', evObj); 

當我把一個斷點,併爲evObj.srcElement腕錶的價值,它是空的。其他屬性按書面填充。

我曾經到過這裏:http://msdn.microsoft.com/en-us/library/ie/ms535863(v=vs.85).aspx 這裏:http://msdn.microsoft.com/en-us/library/ie/ms534638(v=vs.85).aspx

看來我應該可以設置該屬性。有關爲什麼這是null的任何想法?我錯過了明顯的東西嗎?

+0

此外,以防萬一有人想知道:** divObj **在我的斷點處不爲空。 –

+0

您試圖強制用戶「非自願」點擊鼠標。請問,爲什麼? –

+1

FWIW你看到這個問題的原因只有IE 8似乎是因爲IE切換事件模型與IE 9 - http://en.wikipedia.org/wiki/DOM_events#Microsoft-specific_model –

回答

0

我發現我的答案here

不管事件對象指定它們的值,這四個事件屬性,cancelBubble,的returnValue,srcElement, 和類型自動初始化爲值的值如下表所示 。

cancelBubble - >假

的returnValue - >真

srcElement - >在該事件被觸發

類型的元素 - >被觸發事件的名稱

因此,事件對象的文檔似乎不正確。