我有一个HTML页面,其中有一些可拖动的元素。我们的规格说明说,在悬停鼠标在这样的元素上时,光标必须是
,并且在拖动期间,光标必须是
。
我知道可以设置
我尝试使用Javascript和CSS更改光标,例如在触发
grab
![grab](https://istack.dev59.com/iz0m5.gif)
grabbing
![grabbing](https://istack.dev59.com/yaIl8.gif)
我知道可以设置
dropEffect
来更改在放置区域上方的光标外观,但选项很少:copy
、move
、link
和none
——没有自定义或类似选项。我尝试使用Javascript和CSS更改光标,例如在触发
ondragstart
时设置cursor: grabbing;
。但是,在放置区域上拖动时,浏览器默认的移动光标出现了。
不幸的是,我不能在解决方案中使用JQuery或其他辅助库。谢谢!
var onDragStart = function(event) {
event.dataTransfer.setData("Text", event.target.id);
event.currentTarget.classList.add("being-dragged");
};
var onDragEnd = function(event) {
event.currentTarget.classList.remove("being-dragged");
};
var onDragOver = function(event) {
event.preventDefault();
};
.dropzone {
width: 500px;
height: 200px;
background-color: silver;
}
.block {
position: absolute;
background-color: pink;
margin: 10px;
border: 20px solid pink;
}
.draggable {
cursor: -webkit-grab;
cursor: grab;
}
.being-dragged {
cursor: -webkit-grabbing;
cursor: grabbing;
background-color: red;
}
<div class = "dropzone"
ondragover = "onDragOver(event);"
>
Grab and drag block around
<div class = "draggable block"
draggable = "true"
ondragstart = "onDragStart(event);"
ondragend = "onDragEnd(event);"
>
I'm draggable
</div>
</div>
JavaScript
还是也会用到jQuery
呢?如果你会使用jQuery
,那么你会使用jQuery UI
的Draggable
插件吗? - UfguFugullu