Vue.dragger 导致页面click失效

2021-07-02  本文已影响0人  fordG

touch移动后取消导致click点击无效, 需要再次点击才可以, 这里使用touch来替代页面上的click时间,touch延迟到替换click

<template>
    <view @touchstart="touchstart" @touchmove="touchmove">
        <slot></slot>
    </view>
</template>

<script>
    export default {
        data() {
            return {
                clicking: false,
                move: false,
            }
        },
        
        methods: {
            
            touchmove(e){
                this.move = true
            },
            
            touchstart(e){
                this.move = false
                if(this.clicking == true && !this.touchEnd){
                    return;
                }
                
                this.touchEnd = false
                this.clicking = true;
                setTimeout(e=>{
                    this.clicking = false
                    if(!this.move){
                        this.$emit('click')
                    }
                }, 250)
            }
        }
    }
</script>

<style>
</style>


上一篇下一篇

猜你喜欢

热点阅读