Буду ли я запускать событие изменения, если я использую Javascript для установки <option>в качестве выбранного? - PullRequest
4 голосов
/ 27 июня 2010

Я заметил, что в Google Chrome установка <option>, выбранного с помощью Javascript, не вызывает событие изменения соответствующего тега <select>.

Могу ли я рассчитывать на то, что это поведение сохраняется во всех других современных браузерах?

Ответы [ 4 ]

1 голос
/ 27 июня 2010

Установка опции, выбранной с помощью JavaScript или . Выбор опции путем фокусировки с последующим использованием кнопок выбора вверх и вниз, не принимается обработчиком события onchange() как событие, как видно из следующих ссылок. :




PS: Подобная ситуация произошла, когда я попытался вызвать <element onmousedown="doStuff();"> , позвонив по номеру element.click();

1 голос
/ 27 июня 2010

Установка любого значения для любого поля в JavaScript не должна вызывать каких-либо событий.

Если бы они это сделали, вы бы оказались в бесконечном цикле запуска событий.«вызвать» событие изменения вручную.

0 голосов
/ 27 июня 2010

опция: выбрано да, это работает, я просто использовал это сам. Даже верно в IE 6 - IE 8 webkit и FF

0 голосов
/ 27 июня 2010

Да, это должно быть верно. По моему опыту это работает в IE 6, Chrome, FF и Safari. Я согласен, что тестирование во всех браузерах, которые вы намереваетесь поддерживать, имеет смысл!

...