2012-07-14 78 views
1

代碼:JavaScript錯誤在IE 9

if(e.target.className.indexOf('box') !== -1) 
    e.target.parentNode.className = 'boxW'; 

讓我這個錯誤在Internet Explorer 9:

SCRIPT5007:無法獲得屬性的值 '的className'

對於parentNode屬性會發生同樣的事情(如果我刪除IF)...

+0

IE9終於實現了'的addEventListener()'模式,讓你可以使用'this'回調裏面,而不是'e.target' /' e.srcElement'。 – Utkanos 2012-07-14 11:02:24

+0

實際上它不工作。我有與addEventListener相同的問題,我用attachEvent .. – Alex 2012-07-15 11:36:50

回答

3

I don不知道它是如何與IE 9,但其他版本已使用e.srcElement而不是e.target

因此,也許你可以做這樣的:

var real_target = e.target || e.srcElement; 

if(real_target.className.indexOf('box') !== -1) 
    real_target.parentNode.className = 'boxW'; 
+0

謝謝,作品:D – Alex 2012-07-15 11:35:53