0

我试图在旧的 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 更严格并没有发挥作用,但是在哪里呢?
  • 欢迎提供有关如何缩小此错误范围的任何建议

回答:

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

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

4

2 回答 2

2

IE8 上的 F12 可让您进入具有 js 调试功能的开发人员工具,这可能是我的第一站。

于 2009-04-01T13:54:30.640 回答
0

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

于 2010-04-09T14:20:03.373 回答