美文网首页
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