Select multiple бросает два события change.
Столкнулся с удивительной проблемой мультиселекта на Chrome на Android.
Есть мультиселект. На нем висит обработчик onchange. Жмем на select, появляется нативное окошко выбора, выбираем только один option, жмем ОК - срабатывает событие change. Далее, тыкаем в любое место страницы, снова срабатывает событие change. (просто убирается фокус с селекта) Причем, если выбрать несколько option, то событие отрабатывает только один раз, как надо. Кто-нибудь сталкивался с такой проблемой? Как устранить повторный выброс события change? |
Rise,
Я посмотрел - в смартфоне такой селект после клика по полю ввода отображается в виде всплывающего окна с чекбоксами по списку опций и кнопкам ОК и Отмена. И, таки да, если выбрано 2 или более чекбокса - при нажатии ОК возникает событие change. Если потом кликать вокруг - ничего не происходит. Если же выбрана одна опция - после ОК событие change, если кликнуть вокруг - еще один change. <select multiple id="sel"> <option>Чебурашка</option> <option>Крокодил Гена</option> <option>Шапокляк</option> <option>Крыса Лариса</option> </select> <script> sel.onchange = function() { alert("Change"); } </script> |
Часовой пояс GMT +3, время: 12:35. |