html - 将鼠标光标更改为 HTML 中的输入元素

标签 html css drag-and-drop mouse-cursor

我有各种 HTML 元素,可以通过拖放操作移动。为了指出放置元素的有效区域(向用户),我正在更改光标外观。我通过简单地通过包含简单“cursor:xxx”的 JS 应用 CSS 类来做到这一点。这适用于 DIV 和 SPAN。

但是当我尝试使用文本输入或文本区域执行此操作时,光标只会变成“|” (文本编辑光标)。

有没有办法覆盖此默认行为或是否有任何变通方法(不必用任何虚拟对象替换这些元素,因为这会花费很多时间,因为某些功能会依赖这些元素)

CSS:

body.draggingInvalid ,
body.draggingInvalid * {
    cursor:not-allowed !important;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    user-select: none;
}

HTML:

<input type="text" style="width: 200px; height: 20px;">

最佳答案

尝试使用!important

input {
    cursor: pointer !important;
}

这将覆盖所有输入元素的“光标”属性。

编辑:

如果这不起作用,请仔细检查您的选择器。您可能想在 body.draggingInvalid

之间添加空格
body .draggingInvalid {
}

关于html - 将鼠标光标更改为 HTML 中的输入元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16191343/

相关文章:

JavaScript/HTML - 从其中的 a 元素引用包含 li 的元素

css - 调整大小传感器 - 在 CSS 中按比例调整 div 大小

html - 在 css 列内分布

javascript - 在两个不相关的 Web 应用程序之间拖放

JavaScript 拖放不适用于 iPad

jquery - 来自某处的幻影边缘

jquery - 将每个元素包装在单独的 ul 列表中

html - 使 Angular Material 数据表行滚动,同时保持标题的粘性

html - 如何让CSS动画顺利回到原来的位置

javascript - 在放置事件中将图像显示为无