gpt4 book ai didi

javascript - 避免 300 毫秒的输入元素点击延迟触发键盘出现在 IOS 上

转载 作者:行者123 更新时间:2023-11-29 02:11:10 24 4
gpt4 key购买 nike

目前我正在为 Android 和 IOS 开发网络应用程序(jQueryMobile on Backbone.js)。为了提高性能,我试图消除这些设备上 300 毫秒的点击延迟。

对于那些不知道 300 毫秒延迟是什么的人,这里有一篇非常好的解释它的文章。

http://updates.html5rocks.com/2013/12/300ms-tap-delay-gone-away

对于 Android 设备,删除它真的很容易。

<meta name="viewport" content="width=device-width, user-scalable=no">

上面的元代码起到了作用。一旦 chrome 识别出用户在页面中放大/缩小不可用,300 毫秒的延迟就会消失。

但是IOS safari的情况下,不支持禁用。

所以我已经尝试了一些基于 touchstart - touchend 事件和触摸位置创建“无延迟点击事件”的插件。我选择了 'vclick' 事件,它是 jQueryMobile 的无延迟点击原始事件。

除了事件处理程序更改 DOM 元素并且不知何故 input 在我单击的位置出现,OS 键盘也出现的情况下,它工作得很好。

那是因为键盘出现是基于“正常”点击事件,在没有延迟点击事件后有 300 毫秒的延迟。并且由于我在没有延迟点击事件时移动元素,在“正常”点击事件发生时,原始点击元素不存在,只有 input 元素。

我的问题是如何消除键盘出现事件的 300 毫秒延迟?

这里是简单的可重现代码

http://jsfiddle.net/Suish/gypbn304/1/

任何建议或帮助将不胜感激。

最佳答案

https://github.com/ftlabs/fastclick

fastclick.js

window.addEventListener('load', function() {
var fastClick = new FastClick(document.body);
}, false);

关于javascript - 避免 300 毫秒的输入元素点击延迟触发键盘出现在 IOS 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29272901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com