对于同一控件同时设置bindtap和bindlongtap,会发现长按时先出现bindlongtap的事件,然后触发点击事件。
通过测试,我们发现,小程序中事件执行的顺序是
点击:touchstart → touchend → tap
长按 touchstart → longtap → touchend → tap
<view bindtouchstart="bindTouchStart" bindtouchend="bindTouchEnd" bindlongtap="bingLongTap" bindtap="bindTap">蹂躏我</view>
// js
bindTouchStart: function(e) {
this.startTime = e.timeStamp;
}
bindTouchEnd: function(e) {
this.endTime = e.timeStamp;
}
bindTap: function(e) {
if(this.endTime - this.startTime < 350) {
console.log("点击")
}}
bingLongTap: function(e) {
console.log("长按");
}
本文探讨了在微信小程序中,当同一个控件同时设置了bindtap和bindlongtap事件时的触发顺序。通过实验发现,长按时会先触发bindlongtap事件,随后再触发bindtap事件。文章还提供了一个示例代码,帮助读者理解这一机制。

被折叠的 条评论
为什么被折叠?



