奇怪的IE行为:currentStyle返回null

时间:2010-09-15 23:54:47

标签: javascript internet-explorer

我在IE8中遇到了奇怪的行为,这似乎是一个IE错误,但我不确定。 从元素访问currentStyle字段时,它返回null。如果我在监视窗口中查看其属性,我可以看到它已定义,我可以查看其成员。看来,如果我事先调用属性,那么它将返回正确的currentStyle。我想知道是否有人之前已经看过这种行为,并且知道一些解决方法。在构造dojo网格时会发生这种情况。 我也无法覆盖这种JavaScript行为,因为它深埋在外部Javascript库(dojo)中,并且我无法首先访问该函数以覆盖(函数在另一个函数范围中定义)。

1 个答案:

答案 0 :(得分:2)

IE中的currentStyle对象是异步的。这意味着无法设置样式并立即查询。一旦JavaScript完成更改,您必须让IE根据您的操作行事。你可以将setTimeout设置为0毫秒,这会将函数调用粘贴到某种类型的队列上,IE会在调用下一段JavaScript之前执行DOM更改。