IE8 простое оповещение не работает? - PullRequest
1 голос
/ 10 мая 2009

Почему следующий фрагмент кода не работает в IE8?

<select>
    <option onclick="javascript: alert('test');">5</option>

Довольно странно - в IE8 предупреждение не отображается. Я также не вижу значок ошибки в левом углу. Конечно, это работает в FF и Opera. Есть идеи?

Ответы [ 3 ]

17 голосов
/ 10 мая 2009

Установка обработчика onclick на элемент <option> кажется ... странной для меня. Возможно, вы захотите переключить это на более распространенное onchange событие <select>. Вы по-прежнему можете делать все, что хотите, оттуда, и это «принятый» способ делать все, что вы хотите делать с выбором. При этом, вы можете попробовать удалить часть javascript:. Это необходимо только тогда, когда вы выполняете Javascript по ссылке href, например. Обработчик onclick ожидает JavaScript.

4 голосов
/ 11 мая 2009

Все версии IE (6,7,8) не поддерживают ЛЮБЫХ обработчиков событий для элементов option.

Это (довольно) хорошо известная ошибка, которую команда IE указала, что не спешит ее исправлять. : - (

Опять же, Opera, Safari и Chrome ограничены или не поддерживают обработчики событий в опциях.

Отсутствие событий в опциях: ошибка 280

(связано) Отсутствие стилей в опциях: ошибка 281

Следует отметить, что «Edge» (например, IE12 в Windows 10) в настоящее время показывает, что эта проблема исправлена ​​в предварительных версиях.

4 голосов
/ 10 мая 2009

Вы пробовали только:

onclick="alert('test');"

Уверен, вам не нужен префикс javascript:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...