美文网首页
vue长按事件

vue长按事件

作者: 陶菇凉 | 来源:发表于2020-06-16 10:46 被阅读0次

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() {
                        

                    },
                })

相关文章

网友评论

      本文标题:vue长按事件

      本文链接:https://www.haomeiwen.com/subject/tvdlxktx.html