Почему javascript click-area не работает в IE8? - PullRequest
0 голосов
/ 01 апреля 2009

Я пытаюсь найти ошибку в старом приложении 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
  • также CSS области кнопок отличается в IE8, он не имеет цветовой заливки, как в IE7. Я могу себе представить, что где-то HTML-код недопустим и IE8, будучи более строгим, не подыгрывает, но где?
  • любые советы о том, как сузить эту ошибку, добро пожаловать

ОТВЕТ:

Оказалось, что приложение не проверяет navigator.agent на наличие "MSIE 8.0" и, таким образом, обрабатывает IE8 с браузером, не поддерживающим Internet Explorer.

Спасибо Lazarus за подсказку, отладчик IE8 Javascript очень хорош, как Firebug для IE, будет использовать его больше!

Ответы [ 2 ]

2 голосов
/ 01 апреля 2009

F12 в IE8 приводит вас к инструментам разработчика, которые имеют отладку js, что, вероятно, будет моей первой остановкой.

0 голосов
/ 09 апреля 2010

Это событие в IE8 работает только в элементе A .

...