移动端触屏事件和touchEvent:

1.触屏事件

①.触屏(touch)事件
touchstart 手指触摸屏幕时触发,即使已经有手指在屏幕上也会触发
touchmove 手指在屏幕滑动时触发
touchend 手指从屏幕时移开时触发
touchcancel 当触控点被特定的实现方式打乱时触发(例如,弹框),一般不用
②.事件绑定方式,DOM0和DOM2都可以,推荐使用DOM2方式
box.addEventListener(‘touchstart’,function () {
console.log(‘touchstart’);
});
③.移动端响应Mouch事件
移动端借助touch去触发mouse事件。
在手机上,当我们手触碰屏幕时,要过 300ms 左右才会触发 mouse 事件。
例1:给box绑定mousemove、mousedown、mouseup 、click
在移动端点击会触发mousemove、mousedown、mouseup 、click事件。
直接滑动什么都不触发。
长按会触发mousemove事件。
例2:给box绑定touchstart、 touchend 、click
点击会触发touchstart、 touchend 、click事件。
长按会触发touchstart、 touchend事件。

2. touchEvent

①.touchEvent对象
changedTouches 在元素上改变状态的手指个数,例如:手指按上或者离开。返回touchList对象。
targetTouches 触发事件时在元素上的手指个数,返回touchList对象
touches 触发事件时在屏幕上的手指个数,返回touchList对象
②.touchList对象
touchList类数组对象中有Touch对象和length,length表示手指在屏幕上的数量。
给box监听touchstart事件,changedTouches,targetTouches,touches的length都为1。
给box监听touchend事件,changedTouches的length为1,targetTouches,touches的length为0。
一般情况下:
touchend事件,获取离开的触点,用changedTouches。
touchmove和touchstart, targetTouches和changedTouches都可以用。
③.Touch对象
表示一个触点
clientX 触点在视口中的位置
clientY
force 按压力度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue移动端长按事件可以通过在模板中添加相应的事件处理函数来实现。在Vue中,可以使用`@touchstart`、`@touchmove`和`@touchend`这些事件绑定指令来监听移动端的触摸事件。引用中的代码展示了一个Vue组件中处理长按事件的示例代码。 首先,在模板中,可以在需要触发长按事件的元素上添加`@touchstart`、`@touchmove`和`@touchend`事件绑定指令。例如,在一个`<p>`标签上,可以添加以下代码:`<p @touchstart="gtouchstart(item)" @touchmove="gtouchmove()" @touchend="showDeleteButton(item)">测试</p>`。 接下来,在Vue组件的方法中,定义相应的事件处理函数。例如,在Vue组件的方法中,可以定义`gtouchstart`、`gtouchmove`和`showDeleteButton`等函数来处理长按事件。在`gtouchstart`函数中,使用`setTimeout`函数设置一个定时器,当触摸开始后500毫秒内没有触摸结束,则触发`longPress`函数来执行长按事件。 在`showDeleteButton`函数中,可以通过`clearTimeout`函数来清除定时器,如果触摸结束时定时器还未被清除,则可以执行相应的操作,比如执行`onclick`事件。 如果触摸过程中手指有移动,则可以通过`gtouchmove`函数来清除定时器,以取消长按事件,此时可以执行其他事件,例如移动操作。 最后,在`longPress`函数中,可以执行长按事件需要执行的内容,比如弹出菜单。 综上所述,可以通过在模板中添加`@touchstart`、`@touchmove`和`@touchend`事件绑定指令,并在Vue组件的方法中定义相应的事件处理函数来实现Vue移动端长按事件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [移动端长按事件 vue](https://blog.csdn.net/qq342035299/article/details/125765707)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值