javascript - 如何防止 iOS uikeyboard 箭头触发的 "tab"操作?

标签 javascript html ios uikeyboard

我有一个 HTML 表单,特别是在 iOS 上,我需要防止用户在存在模式时通过输入进行“Tab 键切换”。

我在“tabbing”周围加了引号,因为 iOS 键盘没有标准的 tab 键,它使用键盘上方工具栏中的上一个/下一个箭头。 (见下图)

enter image description here

这些键没有附加 DOM 事件,因此读取 e.keyCode 和使用 e.preventDefault() 不是选项。有什么想法吗?

最佳答案

我最终实现的解决方案如下所示:

HTML

<!-- modal content -->
<div class="search-modal">
  <input type="search" id="search-input" />
  <input type="text" onfocus="refocus('search-input')" style="opacity:0;" />
</div>

<!-- main page content -->
<div class="page-body">
  <input type="text" name="fname" />
  <input type="text" name="lname" />
  <input type="email" name="email" />
  <input type="tel" name="phone" />
  <!-- ... -->
</div>

JS

function refocus(id){
  document.getElementById(id).focus();
}

每当使用“下一个”箭头时,不可见的输入就会获得焦点。它会立即将焦点放回到原始输入上;从而防止非模态输入获得焦点。

关于javascript - 如何防止 iOS uikeyboard 箭头触发的 "tab"操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38385197/

相关文章:

javascript - jQuery addClass removeClass 动画当 div 不显示时

java - 如何在 UI 上显示表格中的 100 万条数据

iphone - Exc Bad Access 关闭 View Controller

javascript - 无法使用 "test"作为 JavaScript 中的值,但可以使用 1 等数字

javascript - 用于 SEO 的 URL 重定向(在 Flash 中)?

javascript - Bootstrap网格文本书写

html - 如何使用 CSS 伪元素 :before{ content: '' } to affect an <option> element?

javascript - 当选择选项时,JQuery 禁用输入

ios - 从 Swift 函数中的异步调用返回数据

ios - 如何将 faSTLane 构建添加到 Xcode 的归档管理器?