首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

触发器“touchstart”在setTimeout内不起作用

触发器"touchstart"是一个移动端的触摸事件,用于在用户触摸屏幕时触发相应的操作。而setTimeout是JavaScript中的一个定时器函数,用于在指定的时间后执行一段代码。

在setTimeout内使用"touchstart"触发器可能不起作用的原因是,"touchstart"事件通常是与用户的实际触摸操作相关联的,而setTimeout是在指定的时间间隔后执行代码,不会与用户的实际触摸操作同步。

解决这个问题的方法是使用其他适合的事件来替代"touchstart",或者使用其他方法来实现需要的功能。例如,可以考虑使用"click"事件来替代"touchstart",或者使用其他的定时器函数,如setInterval,来实现需要的延时操作。

腾讯云提供了丰富的云计算产品和服务,其中与前端开发相关的产品包括云函数(Serverless)、云开发(CloudBase)、CDN加速等。与后端开发相关的产品包括云服务器(CVM)、容器服务(TKE)、云原生应用平台(TKE Serverless Kubernetes)等。具体产品介绍和链接地址可以参考腾讯云官方网站。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【移动端】touch事件及穿透事件

bug收集:专门解决与收集bug的网站 网址:www.bugshouji.com touch 事件的来历 2007 苹果推出iphone,浏览器网页在iphone上显示时字体特别小,根本看不清楚...苹果的解决方案: 方案一:双指进行缩放 方案二:在屏幕上双击进行放大(单击300ms后,再单击才算双击),造成了,移动端点击事件,300ms 延迟的问题 解决方案,就是使用touch事件来替代 移动端新增...false); document.addEventListener( 'touchcancel', function () { console.log( 'touchcancel'); , false); setTimeout...' : t = setTimeout( function () { callback.call(...e.changedTouches[o]); }); $('#box' ).longtap( function (e) { console.log(e); ); 5. touch 事件的穿透 因click是在touch

2.1K10
  • Vue使用定时器修改属性,a-modal无法弹出的解决方法

    今天负责对接口的同事找到我说, setTimeout() 定时器修改 modal 绑定的属性值后,无法正常显示弹窗。...下面的他的部分代码: HTML:   touchstart="gotouchstart(item.id)" @touchmove="gotouchmove.../执行长按要执行的内容,     this.DeleteId = id;     this.DeleteSt = true;   },1000);//这里设置定时 }, //手释放,如果在2000毫秒内就释放...在 gotouchstart() 方法内,let 了一个 that ,设置了一个定时器,2秒后执行修改 DeleteSt 属性的值,当值为 true 时,弹窗会弹出,但是不管怎么按,都不显示弹窗。...    //执行长按要执行的内容,     that.DeleteId = id;     that.DeleteSt = true;   },1000);//这里设置定时 }, 修改了一下,将定时器内的

    2.9K30

    开发一个Canvas小游戏 实现一个游戏“引擎”

    小球在一直的往下走,但是要保证小球还能在屏幕的中间可见区域,那么就给画布做一个 Y 轴的负偏移。...* 渲染器、照相机、场景 这三个是要配合在一起使用,渲染出照相机范围内的场景(一个个的实体)。...这种场景在JS中我们一般会想到 setInterval, setTimeout 等;实际再写游戏、动画的时候都是用到 requestAnimationFrame这个API的,这里浅浅的讲一下他们的区别。...setInterval 与 setTimeout这两个的概念其实是差不多的,都是浏览器JS引擎提供的方法,无非就是用 setTimeout 要做一个递归逻辑。...requestAnimationFramerequestAnimationFrame 会把每一帧中的所有DOM操作集中起来,在一次重绘或回流中就完成,而且重绘或回流的时间是跟着显示器的刷新率来的,这样无论在高刷还是低刷的屏幕上都能有很好的体验

    47110

    如何实现一个丝滑的点击水波效果

    先看看touchstart事件的处理方法createRipple: function createRipple(this: RippleHTMLElement, event: TouchEvent) {...200ms结束,如果我们在60ms内进行第二次点击不会创建第二个水波,因为前一个水波任务还未执行,如果是在60ms后第二次点击,会先调用removeRipplie移除上一个水波,然后重复第一个水波的创建流程...接下来会创建一个60ms的定时器,等待执行createRipple的task,如果我们在60ms内就松开了手指,那么又会执行removeRipple方法,此时_ripple.tasker存在,所以removeRipple...的task方法也会等待60ms再执行;如果我们是在60ms后才松开手指,那么_ripple.tasker不存在,会立即执行removeRipple的task方法,该方法内会获取最后一个水波元素,也就是刚刚创建的水波元素...在目标元素被卸载时会执行unmounted方法: function unmounted(el: RippleHTMLElement) { el.removeEventListener('touchstart

    60820

    网页|利用touch实现下拉刷新

    1功能介绍 下拉刷新在常见的手机app上大多都有运用。下拉刷新即向下拉重新加载、刷新。...图1 整体效果图 2下拉刷新的实现原理 在实现下拉刷新的过程中会用到touch事件。其中,touchstart事件:当手指触摸屏幕时候触发,即使已经有一个手指放在屏幕上也会触发。...touchcancel事件:当系统停止跟踪触摸的时候触发监听原生touchstart事件,记录其初始位置的值,并监听原生touchmove事件,记录并计算当前滑动的位置值与初始位置值的差值,大于0表示向下拉动...touchend(Y,newY){ var distance = newY -Y; if(distance>20){ //bai用来设置或获取位于对象起始和结du束标签内的...text').innerHTML= "正在刷新"; document.getElementById('move').innerHTML="" setTimeout

    1.7K20

    JS篇(028)-移动端 click 事件、touch 事件、tap 事件的区别

    参考答案: 1.click 事件在移动端会有 200-300ms 的延迟,主要原因是苹果手机在设计时,考虑到用户在浏览网页时需要放大,所以,在用户点击的 200-300ms 之后,才触发 click,...其中包括:touchstart, touchmove, touchend, touchcancel 这四个事件,touchstart touchmove touchend 事件可以类比于 mousedown...控制允许延迟的时间 delayTime = 200, // 记录是否移动,如果移动,则不触发tap事件 isMove = false; // 在touchstart...触发,这个元素就会 display: none,而从上面的 tap 可以看出,有 touchstart、touchend,所以会 300ms 之后触发 click 事件,而 z-index 已经消失了...tap(ele, function() { setTimeout(function() { ele.style.display = "none"; }, 300); })

    6.6K40

    Vue 2.x 移动端长按事件实现方式

    原来是在 pc 端右键菜单不能出现了,我一看原来是没有兼容移动端的事件,因为在 pc 端我们只需要使用 @contextmenu 这个事件就可以实现右键菜单的出现了, 当然在此之前我们需要实现一个菜单组件..., groupIndex) { clearTimeout(this.loop) //再次清空定时器,防止重复注册定时器 let that = this this.loop = setTimeout...接下来就是总结 总结 在vue中长按事件并没有封装,在使用的时候需要我们自己取写一个方法获取长按事件。...方法一:使用@touchstart,@touchend start () { clearTimeout(this.loop); //再次清空定时器,防止重复注册定时器 this.loop...= setTimeout(() => { console.log("长按了"); }, 1000); }, end () { clearTimeout(this.loop

    1.3K30

    10-移动端开发教程-移动端事件

    2.1 touch事件与click事件同时触发 在很多情况下,触摸事件和鼠标事件会同时被触发(目的是让没有对触摸设备优化的代码仍然可以在触摸设备上正常工作)。...因为双击缩放检测的存在,在移动设备屏幕上点击操作的事件执行顺序: touchstart(瞬间触发) → touchend → click(200-300ms延迟) 如果你使用了触摸事件,可以调用 event.preventDefault...(e) { console.log('touchstart'); }); 2.3 touchmove事件 当用户在触摸屏上移动触点(手指)的时候,触发这个事件..." : //500ms之后执行 timerId = setTimeout(function (){...移动端点击穿透问题 如果某个返回按钮的位置,恰好在要返回的这个页面的带有href属性的a标签的范围内,在点击返回按钮后,页面快速切换到有a标签的页面,300ms后触发了click事件,从而触发了a标签的意外跳转

    6.8K80

    10-移动端开发教程-移动端事件

    2.1 touch事件与click事件同时触发 在很多情况下,触摸事件和鼠标事件会同时被触发(目的是让没有对触摸设备优化的代码仍然可以在触摸设备上正常工作)。...因为双击缩放检测的存在,在移动设备屏幕上点击操作的事件执行顺序: touchstart(瞬间触发) → touchend → click(200-300ms延迟) 如果你使用了触摸事件,可以调用 event.preventDefault...(e) { console.log('touchstart'); }); 2.3 touchmove事件 当用户在触摸屏上移动触点(手指)的时候,触发这个事件..." : //500ms之后执行 timerId = setTimeout(function (){...移动端点击穿透问题 如果某个返回按钮的位置,恰好在要返回的这个页面的带有href属性的a标签的范围内,在点击返回按钮后,页面快速切换到有a标签的页面,300ms后触发了click事件,从而触发了a标签的意外跳转

    6.4K70
    领券