javascript - 使用 elementFromPoint 拖动后无法获得最接近的元素
问题描述
document.elementFromPoint 定义应插入拖动元素之前或之后的元素。当我使用此方法时,它返回被拖动的项目,而不是要定义的项目。为什么它没有发生,我该如何解决这个错误?
evt.preventDefault();
if (!draggedEl) {
return;
}
draggedEl.style.left = `${evt.pageX - draggedEl.offsetWidth / 2}px`;
draggedEl.style.top = `${evt.pageY - draggedEl.offsetHeight / 2}px`;
**const closest = document.elementFromPoint(evt.clientX, evt.clientY);**
const { top } = closest.getBoundingClientRect();
if (evt.pageY > window.scrollY + top + closest.offsetHeight / 2) {
// closest.style.paddingBottom = `${draggedElWidth}px`;
} else {
// closest.style.paddingTop = `${draggedElWidth}px`;
}
});
完整代码:https ://github.com/tati-simonenko/ahj6/blob/master/src/js/taskWidget.js
解决方案
推荐阅读
- keycloak - 如何保护由 keycloak 管理的网站免于滥用“忘记密码”作为向用户发送垃圾邮件的一种方式?
- python - 如何使用箱线图绘制带有散景的分类数据?
- xaml - 如何使工具栏项仅在某些页面中显示
- swift - Swift UITextField 边框扩展
- c# - DataGrid 添加行但文本不可见
- javascript - Angular 6 和 Ionic 3 反应式表单验证错误不显示
- javascript - 无法聚焦使用 JS 创建的输入
- google-apps-script - 将 onEdit 函数转换为普通函数
- sql-server - SQL 月度报告甚至在不同年份也显示
- python - Python Astroid(Pylint)类通过工厂时如何模仿继承?