【发布时间】:2016-01-26 18:55:18
【问题描述】:
我在一个网站上有一个选择菜单,我正在使移动设备友好,它在桌面和 iOS 的 chrome 上完美运行,但在 iOS 的 safari 上它只显示选定的选项。它将滚动并可以选择其他选项,但它们是不可见的。
以下是问题的图片:
这就是它在 iOS 的 chrome 中显示时的样子:
问题似乎出在我用来调整选择菜单大小和重新对齐选择菜单的脚本上,具体取决于选择的选项。
<script>
var resized = false;
function resizeSelect(selected) {
if (resized) return;
var sel = document.getElementById('category');
for (var i=0; i<sel.options.length; i++) {
sel.options[i].title=sel.options[i].innerHTML;
if (i!=sel.options.selectedIndex) sel.options[i].innerHTML='';
}
resized = true;
sel.blur();
}
function restoreSelect() {
if (!resized) return;
var sel = document.getElementById('category');
for (var i=0; i<sel.options.length; i++) {
sel.options[i].innerHTML=sel.options[i].title;
}
resized = false;
}
</script>
HTML:
<form id="sortfilter" method="post" action="">
<select id="category" class="styled-select" name="category" onchange="resizeSelect(this.selectedItem), form.submit()" onblur="resizeSelect(this.selectedItem)" onfocus="restoreSelect()">
<option value="All" selected>All</option>
<option value="Apparel">Apparel</option>
<option value="Boats">Boats</option>
<option value="Cars">Cars</option>
<option value="Food + Drink">Food + Drink</option>
</select>
</form>
关于问题可能是什么以及如何解决它的任何想法?
提前致谢。
编辑:由于某种原因,我现在在 iOS 版 chrome 上也遇到了同样的问题......非常感谢帮助。
【问题讨论】:
-
您的 JS 或 CSS 是否可能以意想不到的方式影响它?根据@cjungel 的回答以及您仍然可以滚动选择器这一事实,您的 HTML 似乎没问题。
标签: javascript html ios