javascript - 使用 JavaScript,为什么我的 onmouseover 事件没有被触发?

标签 javascript dom-events

我正在为一个学校项目编写一个 JavaScript 库,它允许您实现拖放。我已经实现了拖动。当用户拖动可拖动对象时,我会创建该对象的部分透明克隆,该克隆跟随鼠标指针,直到抬起鼠标 (onmouseup)。当他们拖动可放置的对象时,我希望有一个视觉效果来向用户显示他们可以将对象放置在那里。
jQuery UI 已经实现了这一点: http://jqueryui.com/demos/droppable/#visual-feedback

我无法让它工作,因为我的 onmouseover 事件没有被触发,因为我的克隆元素挡住了。我的克隆体总是跟随鼠标指针。如何让事件触发到克隆下的元素?

最佳答案

onMouseDown/Up 在您拖动的元素上定义。拖动对象下方的元素将无法捕获 onMouseOver 事件。为什么?因为您正在拖动对象,而该对象只能捕获 onMouseOver 事件。

因此,要检测目的地,也许您应该创建一个脚本来计算可放置对象的坐标并存储它们。然后搜索鼠标坐标是否在 droppableObjectCooperatives 内,释放鼠标左键后,将拖动的内容放到正确的位置。

关于javascript - 使用 JavaScript,为什么我的 onmouseover 事件没有被触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8453028/

相关文章:

javascript - 将命名对象替换为该对象的属性

javascript - 如何在 HTML/CSS/JS 中为表/列表应用行虚拟化?

javascript - 奇怪/不一致的 scrollTop 行为

javascript - 难以在 Google map 上查找某个区域内是否存在某个位置

javascript - 如何将/n 替换为 react.js 中的换行符?

javascript - 在复选框单击/选中时隐藏元素,在复选框取消选中时重新插入元素

javascript - 日期对象上的 getUTC* 方法有什么作用?

没有输入字段的 HTML 日期选择器。使用 VBA 触发更新事件

javascript - 当我的网站在多个窗口中打开时,window.open 实时事件(使用 socket.io)

javascript - 我的模态组件位于不同的文件中,我正在尝试从另一个组件打开它