为什么javascript点击区域不能在IE8中运行?

时间:2009-04-01 13:46:32

标签: javascript visual-studio-2005 internet-explorer-8

我正在尝试在旧的ASP.NET应用程序中找到一个错误导致IE8无法在我们的应用程序中单击以下“按钮”区域

<td 
    width="150px" 
    class="ctl00_CP1_UiCommandManager1i toolBarItem" 
    valign="middle" 
    onmouseout="onMouseOverCommand(this,1,'ctl00_CP1_UiCommandManager1',0,0);" 
    onmouseover="onMouseOverCommand(this,0,'ctl00_CP1_UiCommandManager1',0,0);" 
    onmousedown="onMouseDownCommand(this, 'ctl00_CP1_UiCommandManager1', 0, 0);" 
    onmouseup="onMouseUpCommand(this, 'ctl00_CP1_UiCommandManager1', 0, 0);" 
    id="ctl00_CP1_UiCommandManager1_0_0">

    <span style="width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;">
        NEW
    </span>
</td>

当我们将IE8切换到IE7兼容模式时,问题就消失了,IE7可以点击它。

由于上述HTML是由第三方控件(Janus,http://www.janusys.com/controls)生成的,因此我们没有源代码。

  • 有没有人遇到过与IE8类似的问题?
  • 我确定它实际上会触发onMouseDownCommand命令
  • IE8中按钮区域的CSS也不同,它没有IE7中的颜色阴影。我可以想象,在某些地方,HTML无效且IE8更严格,不是在玩,而是在哪里?
  • 关于如何缩小此bug的任何建议

解答:

原来是应用程序没有检查navigator.agent的“MSIE 8.0”,因此对待IE8有一个非Internet Explorer浏览器。

感谢Lazarus的提示,IE8 Javascript调试器非常好,就像一个用于IE的Firebug,将会更多地使用它!

2 个答案:

答案 0 :(得分:2)

IE8上的F12将您带到具有js调试的开发人员工具,这可能是我的第一站。

答案 1 :(得分:0)

IE8中的此事件仅适用于 A 元素。