0

今天我发现还有另一个溢出:auto; (至少)IE9 在标准模式下的问题。
例子:

<!DOCTYPE html>
<html>
 <body>
  <div id="ovfdiv" style="background-color: #EEEEEE; overflow: auto;">
   <ul>
    <li style="color: black;" onmouseover="javascript:this.style.color='red';" onmouseout="javascript:this.style.color='black';">resize_until_horizontal_scrollbar_appears__then_move_cursor_over_this_text</li>
   </ul>
  </div>
 </body>
</html>

验证您的 IE 9 在 IE9 标准模式下运行页面。您应该注意到每个鼠标事件都会增加溢出 div,它只会修改 li 元素的样式。

我怎样才能避免这种情况?

4

1 回答 1

0

我通过使用溢出对 div 进行样式更新为我解决了这个问题:auto; 也:

onmouseover="javascript:this.style.color='red';document.getElementById('ovfdiv').className='';"

当然,您也需要将其添加到 onmouseout 中。您不会将所有代码都内联;)将其移动到一个函数中,您可以在其中执行类似的操作

var ovfdivObj = document.getElementById('ovfdiv');
if(ovfdivObj)
  ovfdivObj.className = ovfdivObj.className;
于 2013-06-26T10:17:18.407 回答