忽略目标上的鼠标

Ignore mouseover target?

本文关键字:鼠标 目标      更新时间:2023-09-26

我正在使用一个拖动脚本沿着x轴移动一个对象。

在同一轴上有另一个物体

我想用onmouseover所以当光标在那个对象上的时候我在拖拽我的对象,会发生一些事情

现在,这将不起作用,因为当拖动时,被拖动的对象总是在其他对象的上方。

如何使JavaScript忽略拖动对象?

编辑:我使用http://www.webtoolkit.info/javascript-drag-and-drop.html来拖动

我最近遇到了这个问题,最终使用了这个jQuery插件:http://www.48design.de/news/2009/11/20/kollisionsabfrage-per-jquery-plugin-update-v11-8/

这对于检测物体碰撞非常有用。然而,要确定鼠标光标何时在对象上,我使用的技巧是创建1x1绝对内联块div,并始终将其放置在鼠标光标所在的位置。

因此,当用户在拖动时,要检查对象是否发生碰撞,使用:

if ($('.cursorBlock').collidesWith('.staticBlock')) {
    // objects are colliding
} else {
    // objects are not colliding
}

因此,如果你在拖动时保持1x1 .cursorBlock与鼠标光标在一起,当光标在.staticBlock元素上时,.cursorBlock元素也会在上面,并且碰撞将被检测到,即使你正在"拖动"的实际对象将在两者之间。

我知道你没有用jQuery标记你的问题,但我想无论如何我都会回答,以防这对你有帮助。

看一下ondragenter事件:

  • https://developer.mozilla.org/en/DragDrop/Drag_and_Drop
  • http://msdn.microsoft.com/en-us/library/ms536925%28v=vs.85%29.aspx