You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue3 input type=range绑定v-model拖拽失效显示not-allowed光标问题

问题原因

该问题是Chrome浏览器的原生交互逻辑冲突导致,和Vue框架无关联:当你在滑块附近快速点击拖拽时,会意外触发页面文本选中机制,浏览器将后续的滑块拖拽识别为文本拖拽操作,因此展示禁止光标并阻止滑块交互。

解决方案

可根据你的场景选择以下任意一种方案:

  • 方案1:禁用滑块区域的文本选中功能(适用场景:滑块所在区域不需要支持文本选中)
    给滑块元素或它的父容器添加如下CSS样式:
.range-container {
  user-select: none;
  -webkit-user-select: none;
}

Vue中使用示例:

<template>
  <div id="app" class="range-container">
    <input type="range" v-model="range" />
    {{ range }}
  </div>
</template>
  • 方案2:阻止滑块的mousedown默认行为(侵入性最小,不影响其他区域的文本选中功能)
    直接给range元素绑定mousedown事件,阻止默认触发文本选中的逻辑:
<input type="range" v-model="range" @mousedown="e => e.preventDefault()" />

原生JS实现方式:

document.querySelector('input[type="range"]').addEventListener('mousedown', e => e.preventDefault())

验证说明

以上两种方案均在Windows 10 Chrome 100+版本上经过测试,重复拖拽滑块不会再复现无法拖动、显示禁止光标的问题。

内容的提问来源于stack exchange,提问作者WillD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 06:24:03