无论是 touchstart 还是 click 都会有延迟;并且快速点击 10 次,大约只会生效 5 ~ 6 次。
iOS 12 下就不会。
会不会和新加的触感触控有关?
<!doctype html>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover" />
<div id="app">
<div class="count-wrap">
<div>当前数量:<span id="num"></span></div>
<div id="btn">更新数量</div>
</div>
</div>
<script>
var i = 0
function setNum() {
document.getElementById('num').innerHTML = i
}
setNum()
document.getElementById('btn').onclick = function() {
i += 1
setNum()
}
</script>
<style>
* {
margin: 0;
padding: 0;
}
#app {
padding: 20px;
}
.count-wrap {
margin-top: 40px;
}
#btn {
width: 6em;
padding: 0.3em;
border: 1px solid #ccc;
border-radius: 2px;
text-align: center;
margin-top: 1em;
background-color: #f0f0f0;
/* -webkit-tap-highlight-color: transparent; */
user-select: none;
}
#btn:active {
background-color: #fafafa;
}
</style>
1
anjianshi OP |
2
zacharyjia 2019-09-24 12:16:41 +08:00
好像确实有类似的情况,我的感觉是有时候点链接一次没效果,得点第二次才能开始打开新网页
|
3
oIMOo 2019-09-24 15:16:07 +08:00 1
慢速点击(两次间隔较长)没有问题。
然而快速点击就会复现。 |
4
redbuck 2019-09-24 16:11:57 +08:00 1
加 touch-action: manipulation; 试试
|
5
anjianshi OP |
6
redbuck 2019-09-24 17:07:13 +08:00
看了下你的 demo,这个测试不太合理啊.
试试这个. 我测试是不存在 300ms 延迟的. 点击齿轮可以打开控制台 ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no"> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/eruda/1.5.8/eruda.min.js"></script> <title>Title</title> </head> <body> <button id="btn">点击</button> <script type="text/javascript"> eruda.init(); const btn = document.getElementById('btn'); btn.addEventListener('touchstart', function () { console.time('click'); }); btn.addEventListener('click', function () { console.timeEnd('click'); }); </script> </body> </html> ``` |
7
anjianshi OP @redbuck touchstart 本身都被延迟触发了的。这个和以前的 300ms 情况不太一样。
我的那个演示页面,ios12 下,连续点击 10 下计数就是 10,ios13 下就是 5 |
8
anjianshi OP http://anjianshi.net/touch3.html
这个版本改成监听 touchstart 了 |
9
redbuck 2019-09-24 17:28:34 +08:00
|
10
chairuosen 2019-09-24 17:29:02 +08:00
实验了,是真的
|
12
belin520 2019-09-24 17:31:40 +08:00 1
iOS 13.1 已经修好了
|
13
anjianshi OP 嗯。影响不是很大,不过像数字小键盘之类的组件点起来会有点卡。
|