html - 使上一个/下一个按钮在 iOS 上的复选框上起作用

标签 html ios checkbox uiwebview cordova

在 iOS 上,当在网页上填写表单时,键盘上有“下一个”和“上一个”按钮,其作用类似于真实键盘上的 Tab 键。我们有一个 Web 应用程序,我已使用 PhoneGap 将其实现为应用程序,并且“下一个”和“上一个”按钮会跳过复选框,就好像它们不存在一样。

有没有办法让“下一个”和“上一个”按钮与 iOS 上的 PhoneGap/UIWebView/Safari 的复选框一起使用?

最佳答案

这可以仅使用 HTML 进行模拟。

在复选框之前插入文本输入元素。添加 JavaScript,以便在该输入具有焦点时按下某个键会更改复选框状态。

这里是a jsbin example你可以edit the source 。关于此示例的注释:

  • 不要使用<fieldset> - 使用长按输入强制选择文本会在 jsbin 的编辑模式下关闭 iOS 6(必须与 jsbin 代码或 iframe 进行某种交互),并始终隐藏插入符号(这听起来对这种情况很有用,但事实并非如此!) 。在我看来,这是由于 Safari 的一个严重错误(但我没有真正调查它,也没有报告它,因为太麻烦了。)

  • visibility:hidden;使用<option>的想法元素不起作用,因为如果用户触摸某个选项,键盘就会隐藏。

  • 我没有花太多时间寻找用于焦点复选框的好样式 - 如果有人想出更好的东西,请发表评论。

  • jsbin 示例中存在一些垃圾内容,这些内容无法隐藏闪烁的插入符号。如果有更简洁的解决方案来隐藏插入符号,我会很感兴趣。

  • 需要进行一些浏览器嗅探才能将此修复仅应用于 iOS 设备。

  • 这不是标准的 iOS UI 行为,因此在访问其他应用程序时可能会让用户感到困惑,或者产生其他负面影响。解决方案很容易被 future 版本的 Mobile Safari 破坏。

  • 我尝试了几种不同的隐藏插入符号的方法,最有效的似乎是使用 -webkit-transform: scale(0.01); transform: scale(0.01); 。使用字体大小:1px;几乎可以工作,但会导致 iPhone 在输入获得焦点时缩放(测试 iPad iOS5 并且它没有缩放,测试 iPhone iOS6 并且它缩放)。

关于html - 使上一个/下一个按钮在 iOS 上的复选框上起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9560620/

相关文章:

javascript - 如何动态创建 Jquery 日期选择器?

ios - 正在释放 :completion blocks? 可接受的对象

具有同级 subview 的 iOS 横向和纵​​向方向

checkbox - 取消选择 ttk::checkbutton

javascript - 使用 JavaScript 将本地 .txt 文件中的文本加载到 html textarea

html - 有没有办法告诉浏览器尊重 jpeg exif 方向?

html - 如果隐藏了任何元素,那么 css3 动画的计算仍然在后台进行吗?

ios - RESTful WCF 将视频流式传输到 iOS 设备

javascript - Jquery,仅当其他两个复选框未选中时才取消选中复选框

javascript - 用 jquery 添加一个复选框到一个 div