После долгих поворотов я тоже вижу, но не могу решить эту проблему для вас.Похоже, что Safari по-разному реализовал выпадающие списки, поэтому событие blur
на самом деле не скрывает раскрывающееся меню, но затуманивает поле, что, по-видимому, вызывает трудности при попытке открыть раскрывающийся список.
Iможет также подтвердить это поведение, когда элемент select нацелен на js, а слушатель события добавлен в событие фокуса, например,
var myDropdown = document.getElementById('selectizer');
myDropdown.addEventListener('focus', function( event ) {
console.log("FOCUSSSED\nCount: " + count);
if (count < 1) {
setTimeout(function() {
event.target.blur();
console.log("BLURRRRR");
}, 200)
count++;
}
}, true);
Мой лучший совет для вас - воссоздать select с помощью HTML и CSS.Вы можете сделать это с простым CSS следующим образом:
.menu .option {
display: none;
}
.menu:focus .option {
display:block;
}
Просто убедитесь, что вы даете своим div-элементам и т. Д. tabindex
, чтобы показать и скрыть содержимое.
Вы также можете сделать этос JS, если хотите, или используйте любое количество готовых компонентов, которые вы найдете в быстром Google.