<view class="fixed-btn flex-row flex-center" :style="{ bottom: bottom + 'px', right: right + 'px' }" @click="handleGoQuickAdd" @touchstart="start" @touchmove.stop.prevent="move" @touchend="end">
<!-- #ifndef APP-NVUE -->
<text class="add icon-add flex-row flex-center"></text>
<!-- #endif -->
<!-- #ifdef APP-NVUE -->
<text class="add iconfont flex-row flex-center"></text>
<!-- #endif -->
</view>
move(e) {
let page = e.changedTouches[0]
let pageX=parseInt(page.pageX)
let pageY=parseInt(page.pageY)
console.log(pageX,pageY)
let x = pageX-this.pageX
let y = pageY-this.pageY
this.pageX = pageX
this.pageY = pageY
if(this.right-x>=0&&this.right-x<=this.w-50) this.right -= x
if(this.bottom-y>=0&&this.bottom-y<=this.h-50) this.bottom -= y
// #ifdef APP-NVUE
e.stopPropagation()
// #endif

- 发布:2021-07-23 19:22
- 更新:2021-07-23 19:22
- 阅读:838
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows 10 家庭中文版 21H1
HBuilderX类型: 正式
HBuilderX版本号: 3.1.22
手机系统: Android
手机系统版本号: Android 10
手机厂商: vivo
手机机型: vivo x50 pro+
页面类型: nvue
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
可复制以上代码测试
可复制以上代码测试
预期结果:
拖动元素无卡顿无跳动效果
拖动元素无卡顿无跳动效果
实际结果:
元素跳动的很厉害
元素跳动的很厉害
bug描述:
touchmove时手指按住没有移动但会一直触发touchmove事件
移动的时候touchumove的返回值e.changedTouches[0]里的pageX和pageY会连续返回拖动前和拖动后的值,导致拖动元素不停跳动
这些问题在H5和小程序没有发现,APP-PLUS没有测试,APP-NVUE会有这个问题
0 个回复