gpt4 book ai didi

javascript - 拖动另一个元素时如何在鼠标光标下获取元素?

转载 作者:行者123 更新时间:2023-11-29 15:37:10 24 4
gpt4 key购买 nike

我用谷歌搜索并找到了几个答案,但它们都是关于不适合我的问题的点击或鼠标移动事件。

基本上,我允许用户从列表中拖动一个项目并将其放到另一个列表中的文件夹中,并且我想在项目拖过它时突出显示元素(在文件夹列表中)。监听文件夹列表上的 mouseenter 和 mouseleave 事件将不起作用。我尝试在拖动事件(jQuery UI 的 Draggable 拖动)中使用 document.elementFromPoint,但不幸的是它返回的是辅助元素而不是文件夹列表中的元素。我认为这是正确的行为,因为 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");

最佳答案

显然,droppable 具有悬停功能。 http://jqueryui.com/droppable/#visual-feedback

$("#folderlist").droppable({
hoverClass: "ui-state-hover",
drop: function (event, ui) {
}
});

然后将其添加到您的 css 中:

.ui-state-hover
{
background-color: #1c70cf;
}

关于javascript - 拖动另一个元素时如何在鼠标光标下获取元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26712314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com