【问题标题】:Is there a way to avoid displaying the keyboard in mobile safari有没有办法避免在移动 Safari 中显示键盘
【发布时间】:2010-10-04 19:53:35
【问题描述】:

例如,如果我有

<input type="text" id="myid">

我正在使用 ipad,当我专注于这个输入时,ipad 会自动显示键盘。有没有办法避免这种情况? 谢谢

【问题讨论】:

  • 如果不显示键盘,用户如何在该字段中输入数据?
  • 当关注输入字段时会显示一个表格,以便您可以选择一个项目。一个简单的选择标签是行不通的,因为每个选项都会有多个数据项。

标签: html mobile safari mobile-safari


【解决方案1】:

是的,只需将元素设为只读

<input type="text" id="myid" readonly="readonly" />

请注意,这不适用于元素。我相信这可能是一个错误。

【讨论】:

    【解决方案2】:

    我找到的最佳解决方案是在 textarea 上放置一个不可见的 div。这可以防止文本区域接收触摸事件,从而防止键盘出现。捕获 div 上的事件,如果您想让 textarea 可编辑,请在其上调用 .focus(),这将弹出键盘。

    使用 event.preventDefault 效果不佳。当键盘出现时,它会导致屏幕“跳跃”,然后立即消失。

    【讨论】:

      【解决方案3】:

      不要让焦点转到那个领域。使用事件处理程序来防止默认行为。 事件处理程序看起来像这样:

      function onFocus(e) {
          e.preventDefault();
          // you could change the color of the field to indicate this is the active field.
      }
      

      您的表格处理代码可以填充此字段,而无需浏览器关注它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-06-13
        • 2011-06-24
        • 2019-09-07
        • 1970-01-01
        • 2011-07-24
        • 2019-05-29
        • 1970-01-01
        • 2011-09-13
        相关资源
        最近更新 更多