1.html部分
<div @touchstart='gtouchstart()' @touchmove='gtouchmove()' @touchend='gtouchend()'></div>
2.js部分
var timeOutEvent=null;
var vm = new Vue({
el: '#app',
data: {
},
methods: {
//开始按 type 1文字 2图片 3表情 4语音 5文件 6视频
gtouchstart: function() {
var that = this;
timeOutEvent = setTimeout(function() {
vm.longPress()
}, 500); //这里设置定时器,定义长按500毫秒触发长按事件,时间可以自己改,个人感觉500毫秒非常合适
return false;
},
//手释放,如果在500毫秒内就释放,则取消长按事件,此时可以执行onclick应该执行的事件
gtouchend: function() {
var that = this;
clearTimeout(timeOutEvent); //清除定时器
if(timeOutEvent != 0) {
//这里写要执行的内容(尤如onclick事件)
//vm.goChat(item);
}
return false;
},
//如果手指有移动,则取消所有事件,此时说明用户只是要移动而不是长按
gtouchmove: function() {
var that = this;
clearTimeout(timeOutEvent); //清除定时器
timeOutEvent = 0;
},
//真正长按后应该执行的内容
longPress: function() {
var that = this;
timeOutEvent = 0;
//执行长按要执行的内容,如弹出菜单
},
},
created: function() {
},
mounted: function() {
},
})
网友评论