如何在拖动另一个元素时在鼠标光标下获取元素
How to get element under mouse cursor while dragging another element?
我在谷歌上搜索了几个答案,但它们都是关于点击或鼠标移动事件的,不适合我的问题。
基本上,我允许用户从列表中拖动一个项目,然后将其放在另一个列表中的文件夹中,并且每当项目在其上拖动时,我都希望突出显示(文件夹列表中的)元素。在文件夹列表上听mouseenter和mouseleave事件是不起作用的。我尝试在拖动事件中使用document.elementFromPoint(jQuery UI的可拖动拖动),但不幸的是,它返回的是helper元素,而不是文件夹列表中的元素。我认为这是正确的行为,因为document.elementFromPoint返回鼠标光标下最顶部的元素。但这并不能解决我的问题:(.
$("#filelist li").draggable({
helper: "clone",
drag: function (event, ui) {
console.log(event.pageX, event.pageY);
var element = document.elementFromPoint(event.pageX, event.pageY);
// element is helper element, instead of actual element under cursor which I want.
}
});
$("#folderlist").droppable({
drop: function (event, ui) {
}
});
// These mouse events won't be triggered while dragging an item.
$("#folderlist").on({
"mouseenter": function (event) {
this.style.backgroundColor = "#1c70cf";
},
"mouseleave": function (event) {
this.style.backgroundColor = "";
}
}, "li");
显然,dropable有一个悬停函数。http://jqueryui.com/droppable/#visual-反馈
$("#folderlist").droppable({
hoverClass: "ui-state-hover",
drop: function (event, ui) {
}
});
然后将其添加到您的css中:
.ui-state-hover
{
background-color: #1c70cf;
}
相关文章:
- HTML5-画布元素&自定义光标
- 保持光标位置元素在顶部使用 svg
- 为什么触发点击内容可编辑不会激活元素和设置光标
- 如何在每次页面重新加载时更改渐变背景,同时保持光标位置元素处于活动状态
- ContentEditable元素--将光标移回可编辑文本的开头
- 谷歌Chrome元素仍然存在:即使从光标移开,也要悬停
- 将char插入光标所在的活动表单元素中
- d3.js-当鼠标悬停在SVG容器上的这些元素上时,我如何设置光标
- HTML元素的光标是在拖动之后设置的,但不是在拖动过程中设置的
- 检查光标是否在元素'的父级
- 检查光标下是否存在元素
- 使用具有正确光标定位的 Javascript 移动元素
- 输入元素是否有可能具有没有焦点的光标
- 使用光标位置获取元素内的文本
- 当我隐藏页面上的元素时,光标会跳到顶部而不是下一行.我该如何阻止这种情况
- 拖动DOM元素时有什么方法可以更改光标样式
- 如何在 SVG 上的鼠标光标旁边显示工具提示,尽管网站上有非 SVG 元素
- AngularJS:让元素跟随光标
- 如何根据光标移动到*的元素更改jQuery .mouseleave()的行为
- 如何在不悬停元素的情况下使用 javascript 更改鼠标光标