【问题标题】:How to deselect input field when tapping return on mobile keyboard (iOS)在移动键盘上点击返回时如何取消选择输入字段(iOS)
【发布时间】:2017-07-16 06:06:54
【问题描述】:

我还没有在 Android 上测试过,但在 iOS 上,我确定它不起作用。

我有一个输入字段,人们可以在其中写东西。当有人点击原生 iOS 键盘上的“输入”时,我想取消选择(移除焦点)输入字段......但它不起作用。它只是保持对输入字段的关注,而我想摆脱对输入字段的关注。

我正在使用 Angular / HTML / Ionic / 纯 JavaScript。我有很多输入字段,所以我使用 classnames。有没有办法做到这一点?

您可以在此处看到输入字段和下方的键盘。

【问题讨论】:

  • 为什么要移除焦点?键盘是否保持打开状态?或者你想专注于另一个元素?你在 HTML 中使用过<form> 元素吗?
  • 您好。我想移除焦点,因为当我专注于输入字段时,我的一切都变得模糊了。为了摆脱模糊,我需要人们输入/点击键盘,这样他们才能真正看到搜索结果。不,我没有使用表单元素。它只是表单外的一个普通输入字段。
  • 你试过了吗?
  • 嗯,是的。看这里:forum.ionicframework.com/t/…。我试过了,但它是关于表单的……我的输入字段在表单之外。它根本不是一种形式,所以我想要一种不同的行为。我只是希望它在我点击默认的 Android 或 iOS“返回”按钮时取消选择输入字段。

标签: javascript ios ionic-framework return keyboard-events


【解决方案1】:

你可以只听输入框的keydown事件,查看事件的keyCode是否为13(回车键码)。 发生这种情况时,您只需调用输入元素的blur() 方法即可。

看起来像this

【讨论】:

  • 谢谢...但是我正在使用类名,但它不能那样工作...您也可以提供一个示例吗?我做了这个:codepen.io/anon/pen/JWKOao
  • 您必须将 getElementsByClassName() 的返回值作为数组处理。 codepen.io/Siphalor/pen/bqeaGj?editors=1111
  • 太棒了!我们可以在不使用“onload”的情况下做到这一点吗?
  • 我们可以在任何函数之外编写 onload 命令。然后,当浏览器从服务器获取它们时,它们通常会被执行。因此,您可能必须将您的 script 标签 under 放在输入中。我已经更新了代码笔,所以它不再使用 onload。
  • 谢谢。我无法让它在 Ionic 中工作,但我还是接受了你的回答。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-20
  • 1970-01-01
  • 1970-01-01
  • 2020-06-13
相关资源
最近更新 更多