2012-07-14 55 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