Я использую следующий код для отслеживания изменений в заданном элементе SELECT.
someSelectElement.change(function () { alert('change made'); });
И он работает замечательно, когда я изменяю значение выбранного элемента через пользовательский интерфейс.
Однако, похоже, что событие не запускается, если значение изменяется с помощью сценария.Например, следующий код, выполняемый в консоли отладки , изменяет выбранный элемент , но НЕ вызывает событие .
$('#someSelectElement').val('NewValue')
Я знаю, что это кажется необычным дляМне нужно обнаружить изменения, внесенные в элемент управления другим кодом, и если бы это был мой код, я бы просто вызвал событие и вызвал его через день.Проблема в том, что я пишу плагин jQuery, который должен что-то делать, когда значение отслеживаемого элемента управления изменяется, будь то вмешательство пользователя или некоторый клиентский скрипт, который запускает пользователь моего плагина.
Я предполагаю, что поведение, не вызывающее события в этой ситуации, разработано специально.Если нет, пожалуйста, говорите и дайте мне знать, что я делаю не так.Если да, есть ли обходной путь, где я могу наблюдать за изменениями, внесенными в значение элемента SELECT, независимо от того, были ли они инициированы пользователем или кодом?