HTML Drop Down не выбирает параметры в iOS 13 на iPhone

Я реализовал веб-приложение, и в нем есть раскрывающийся список (например, HTML Select). Если я попытался выбрать любую опцию в раскрывающемся списке, это не вызвало бы событие изменения, но оно успешно обновило текст метки.

  • Устройство: iPhone 11 или последняя версия
  • ОС: IOS 13 или последняя версия
  • Браузер: Safari

Образец кода:

       <select id="storagetype">
    <option value="" selected>Select Storage Type</option>
    <option value="1" selected>ABC</option>
    <option value="2" selected>XYZ</option>
</select>

JavaScript:

       var storagetype = document.getElementById("storagetype");

storagetype.addEventListener("change", function() {
    alert(storagetype.value)
});

Если бы я попробовал то же самое в IOS 12.X или более ранней версии, он работал должным образом.

Более того, ошибки консоли нет, и я попробовал стиль z-index. Но ничего не вышло.

1 ответ

Решение

В приведенном ниже коде добавьте фильтр для обнаружения iphone, затем используйте его.

Javascript:

 document.addEventListener('click', function (params) {
 document.querySelectorAll('li[id^="select-options"]').forEach(ele => {
 ele.addEventListener('touchend', (e) => {
 e.stopPropagation();
   })   
  }); 
});

JQuery:

$(document).click(function(){
  $('li[id^="select-options"]').on('touchend', function (e) {
    e.stopPropagation();
  }); 
});
Другие вопросы по тегам