uniapp中如何绝对定位元素拖拽不会导致父页面滚动?
网友回复
在 UniApp 中,要实现绝对定位元素拖拽时不导致父页面滚动,可以通过阻止触摸事件的默认行为来实现。以下是详细的实现步骤和示例代码:
实现思路绝对定位元素:将需要拖拽的元素设置为绝对定位,方便在页面中自由移动。绑定触摸事件:为元素绑定 touchstart、touchmove 和 touchend 事件,用于处理拖拽操作。阻止默认行为:在 touchmove 事件中,调用 event.preventDefault() 方法阻止页面滚动。示例代码页面结构(.vue 文件)<template>
<view class="container">
<!-- 父页面内容 -->
<view class="parent-content">
<view v-for="i in 50" :key="i">{{ i }}</view>
</view>
<!-- 可拖拽的绝对定位元素 -->
<view
class="draggable-element"
:style="{ left: dragX + 'px', top: dragY + 'px' }"
@touchstart="onTouchStart"
@touchmove="onTouchMove"
@touchend="onTouchEnd"
>
可拖拽元素
</view>
</view>
</template>
<script>
export default {
data() {
return {
startX: 0,
startY: 0,
dragX: 100, // 初始 x 坐标
dragY: 100, // 初始 y 坐标...点击查看剩余70%
php如何检查一段html代码运行是否会有js语法错误?
如何破解绕开seedance2.0真人照片生成视频 限制?
python有哪些算法可以将视频中的每个帧图片去除指定区域水印合成新的视频?
iphone的激光雷达数据能否实时传输到three三维空间中?
豆包sora等ai视频生成大模型生成的视频水印如何去除?
python如何实现在电脑上拨号打电话给手机?
具身机器人与人形机器人区别?
nodejs如何将一个完整的js代码文件切割成不同的部分混淆后动态加载进入html运行?
为啥windows.onerror捕获js错误是这样的{"message":"Script error.","source":"","lineno":0,"colno":0,"stack":null,
2026年ai将全面接管编程?


