Ale*_*s G 3 html javascript ipad ios fastclick
在过去的几天里,我一直在寻找解决方案,但所有应该起作用的东西(根据文档)都不起作用。
我使用fastclick来消除打算在 iPad 上运行的 HTML5 应用程序的 300 毫秒延迟。一切都很好,除了我失去了在文本区域中输入文本的能力。简单的单行字段可以工作,但多行文本区域则不行。
当我点击文本区域时,键盘会弹出,我可以开始打字。输入的第一个字母出现在文本区域中 - 仅此而已。后续字母则不然。如果我关闭键盘并再次点击文本区域,我可以再输入一个字母。
我已经尝试了所有建议,包括needsclick、needsfocus等。我尝试编辑 fastclick.js 以扩展用于处理input元素的特殊代码以覆盖textarea- 什么也没有。
我现在可能不得不放弃 fastclick,并自己手动完成所有事情,因为我已经在这个问题上损失了近一周的时间。然而,在我走这条路之前,也许有人可以为我指明正确的方向。
请注意,该问题出现在装有 iOS 9.2(特别是 9.2.1 - 最新版本)的 iPad 和 iPhone 上。
好吧,原因很简单——与 fastclick 无关。正是这个答案实际上为我解决了这个问题。
在我的 CSS 中,我有以下内容:
body * {
-webkit-touch-callout: none;
-webkit-user-select: none;
user-select: none;
}
body input {
-webkit-touch-callout: text;
-webkit-user-select: text;
user-select: text;
}
Run Code Online (Sandbox Code Playgroud)
这样做是为了应对愚蠢的用户,他们会在按钮上“touchstart”,然后开始思考他们想要什么 - 在“touchend”之前,ios 将进入复制/粘贴模式。
然后在输入上明确禁用它,以允许在文本中复制/粘贴。然而,我忘记在第二部分中包含文本区域。现在第二块看起来像这样:
body input, body textarea {
-webkit-touch-callout: text;
-webkit-user-select: text;
user-select: text;
}
Run Code Online (Sandbox Code Playgroud)
一切都按预期进行。
| 归档时间: |
|
| 查看次数: |
1826 次 |
| 最近记录: |