作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我切换设备工具栏时,我意识到我的双击事件不起作用。
我用谷歌搜索,但我只看到了 jQuery 的东西,我对 jQuery 一无所知。我该如何进行这项工作?
stuff.addEventListener('dblclick', openOtherStuff)
我正在尝试使用此事件打开一个模式。在电脑上完美运行,在手机上无法运行。
最佳答案
不幸的是,您无法收听双击事件,但您可以使用 touchstart 事件测量两次单击之间的时间差。
let lastClick = 0;
const ele = document.querySelector('div');
ele.addEventListener('touchstart', function(e) {
e.preventDefault(); // to disable browser default zoom on double tap
let date = new Date();
let time = date.getTime();
const time_between_taps = 200; // 200ms
if (time - lastClick < time_between_taps) {
// do stuff
console.log("done");
}
lastClick = time;
})
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
width: 100vw;
}
div {
width: 100px;
height: 100px;
background: rebeccapurple;
display: flex;
justify-content: center;
align-items: center;
}
<div>Touch</div>
关于javascript - 有没有办法让双击事件在带有 Vanilla JavaScript 的手机中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65870889/
我是一名优秀的程序员,十分优秀!