iOS выберите onchange не стреляя - PullRequest
18 голосов
/ 04 ноября 2011

Кто-нибудь знает какие-либо обходные пути для этого?Я пытаюсь использовать элемент выбора для навигации.Это выглядит примерно так:

<select onchange="window.location=(this.options[this.selectedIndex].value)">

Он работает во всех браузерах на рабочем столе и на моем телефоне WP7.Это не работает на моем iPhone (iOS 5.0).

Ответы [ 3 ]

26 голосов
/ 11 мая 2012

iOS имеет тенденцию не запускать change события при изменении значения их входов.Я задокументировал это более подробно на трекере Device-Bugs .

Обходной путь - вместо этого связать с событием blur.В приведенном выше примере используйте onblur, и все будет готово.

<select onblur="window.location=(this.options[this.selectedIndex].value)">
0 голосов
/ 19 августа 2018

Если вы измените onchange на onblur, это будет работать для iOS, но не для других. Исправление, к которому я в итоге пришел, заключалось в использовании ОБА onblur и onchange. Кажется излишним, но имеет желаемый эффект.

0 голосов
/ 05 ноября 2011

Я только что настроил действие формы на страницу php, которая перенаправляет страницу.Вам даже не нужна кнопка отправки (хотя вы также можете добавить ее для постепенного ухудшения и затем скрыть ее с помощью js), виджет выбора списка iOS автоматически запускает действие формы при нажатии кнопки «Готово».

Изначально я хотел избежать действий с формой и кнопок отправки, потому что я чувствовал, что подход js onChange был чище, но я хорошо использую php на iOS, поскольку для него не требуется кнопка отправки.

...