邵闻
邵闻
  • 发布:2024-04-09 10:21
  • 更新:2024-04-09 10:44
  • 阅读:151

请告知一下,怎么解决这个问题,长按非常容易触发

分类:uni-app

下面附件有视频,有些手机非常容易触发长按,现在怎么解决这个问题

2024-04-09 10:21 负责人:无 分享
已邀请:
爱豆豆

爱豆豆 - 办法总比困难多

看你视频 应该是滚动时触发了长按事件这个问题吧
示例代码片段 你可以参考下

<template>  
    <view>  
        <view @longpress="longpress" @touchend="touchend" @touchmove="longpressFlg = true" v-for="item in 100"  
            style="width: 100%;height: 300rpx;background-color: pink;margin-bottom: 20rpx;">  
            ---------------{{item}}-------------  
        </view>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                longpressFlg: false,  
                longpressTimeout: null,  
            }  
        },  
        methods: {  
            longpress() {  
                if (this.longpressTimeout) return  
                this.longpressTimeout = setTimeout(() => {  
                    if (!this.longpressFlg) {  
                        this.longpressTimeout = null  
                        //弹框 或其他操作  
                        uni.showModal({  
                            content: 'showModal'  
                        })  
                    }  
                }, 300)  
            },  
            touchend() {  
                clearTimeout(this.longpressTimeout)  
                this.longpressTimeout = null  
                this.longpressFlg = false  
            }  
        }  
    }  
</script>
  • 邵闻 (作者)

    非常感谢您提供的这个方案,不过这个实际上是解决不了我的问题的

    2024-04-17 15:38

  • 爱豆豆

    回复 邵闻: 不能解决?你发一个复现的demo出来 我在帮你看看

    2024-04-17 16:28

  • 邵闻 (作者)

    回复 爱豆豆: 原来我理解错了touchmove,ok,我知道原理现在应该解决了,非常感谢

    2024-04-17 23:09

  • 爱豆豆

    回复 邵闻: 好的

    2024-04-18 08:41

要回复问题请先登录注册