У меня есть веб-приложение, в котором список выбора динамически создается через javascript. Выбор выбирается из существующего списка меню в DOM.
Я только что обнаружил, что iOS игнорирует CSS, ориентированный на избранные списки. Например, у меня есть медиа-запрос в max-width: 768, который предназначен для скрыть определенный элемент в списке выбора из представления, когда размер экрана составляет 768 пикселей и ниже.
Хотя это работает как ожидается, используя инструменты эмуляции устройства (т.е. Quirktools/screenfly), правило display: none полностью игнорируется, когда список выбора отображается на реальном устройстве iOS.
Есть ли предлагаемое решение?
Решение, которое я решил сделать здесь, - это ввести условие в jQuery, чтобы оно не было записано в список опций.
Поскольку выбор показывается только на устройствах с разрешением 768px, нет необходимости включать медиа-запрос или window.width.
В результате элемент меню никогда не записывается в список выбора, а iOS выбирает переопределения CSS, которые не представляют проблемы.
$("nav.main li a").each(function () {
var el = $(this);
var elt = el.text();
// Removing the extra » symbol
elt = elt.replace("»", "");
if (elt != 'Hide This Menu Item') {
//Continue building select option list
}
}
select
и переключать видимость всего этого в медиа-запросе.