gpt4 book ai didi

javascript - 在 Chrome 中使用带有 touchend 的过渡会阻止触摸事件

转载 作者:行者123 更新时间:2023-11-28 07:13:21 25 4
gpt4 key购买 nike

我想在 Chrome 中对触摸事件使用淡入淡出效果,但触摸事件会被阻止。

在此fiddle有简单的代码可以淡入 touchstart 和淡出 touchend 事件。当您的触摸开始时,一切都正常。你可以移开手指,1秒后再次触摸,就可以看到淡入淡出。但是,当时间正好达到 1 秒时,不透明度将达到 0,并且触摸事件将被阻止。

这是错误还是编码问题?

谢谢

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
.border {
border:1px solid red;
height: 300px;
}
.visible {
opacity: 1;
transition: opacity 1s linear;
}
.hidden {
opacity: 0;
transition: opacity 1s linear;
}
</style>
<script type="text/javascript">
window.onload=function(){
var div = document.getElementsByName('div')[0];
div.addEventListener('touchstart', function (e) {
div.className = 'border visible';
});
div.addEventListener('touchend', function(e){
div.className = 'border hidden';
});
};
</script>
</head>
<body>
<div name="div" class="border visible"></div>
</body>
</html>

最佳答案

我更新了您的JsFiddle并在我手机的chrome浏览器上进行了测试。它的工作原理正如您在评论中所述。

var div = document.getElementsByName('div')[0];
div.addEventListener('touchstart', function (e) {
div.className = 'border visible';
e.preventDefault();
return false;
});
div.addEventListener('touchend', function(e){
div.className = 'border hidden';
e.preventDefault();
return false;
});

关于javascript - 在 Chrome 中使用带有 touchend 的过渡会阻止触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31086792/

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