【发布时间】:2016-04-26 18:36:45
【问题描述】:
我们使用 JavaScript 创建并显示一个表单,然后将焦点设置在表单上的第一个控件上,它恰好是一个选择元素。在装有 iOS 8 或 iOS 9 的 iPad 上,Chrome、Safari 和 Firefox 会将焦点设置在选择元素上并且使用以下 JavaScript 代码显示选择选项:
document.getElementById("button1").onclick = function() {
document.getElementById("selectCtrl1").focus()
};
<!DOCTYPE html>
<html>
<body>
<div>
<button id="button1">Click Me!</button>
</div>
<div>
<select id="selectCtrl1">
<option value=1>red</option>
<option value=2>green</option>
<option value=3>blue</option>
</select>
</div>
</body>
</html>
如果“onclick”改为“ontouchend”,当“Click Me!”按钮被按下,焦点设置在控件上,选项会短暂显示,然后焦点从选择控件中移除。如果您在台式计算机上运行上述代码,则只需将焦点设置在选择控件上。此外,在 iPad 上,如果您在页面加载时将焦点设置在 JavaScript 中的选择控件上,那么焦点将简单地设置在选择控件上。
那么,应该如何将焦点放在选择控件上作为事件的结果而不显示选项?
无论如何,我们不利用第三方库,而是更喜欢只使用 JavaScript 的答案。
【问题讨论】:
标签: javascript ios ipad focus