拖动时的javascript鼠标悬停

标签 javascript drag-and-drop

我正在尝试实现拖放脚本,但遇到了一个问题。当您拿起一个项目并开始拖动它时 - 该项目就在您的光标正下方并且 onmouseover 事件很少会在下面的项目上触发。但是我希望其他项目在我将某些东西拖到它们上面时突出显示。解决方案之一是根本不拖动任何东西 - 这样鼠标事件就可以工作,但看起来很难看。有没有人做过这样的事情并且知道如何克服这个问题?

如果您正在考虑推荐一些 JQuery 插件或类似的东西 - 请不要。我不需要完整的解决方案,这是有教育意义的。

最佳答案

IMO,为了让 mouseover 事件频繁触发,将 mouseover 事件绑定(bind)到所有元素的 parent 元素受影响的元素,或者可能是 document 本身,因为事件冒泡了,它们可能是唯一可以触发 mouseover 事件的元素。

然后,在您的mouseover 事件中编写一个hit 方法并主动检查鼠标光标的位置,看它是否在目标元素的边界下方。可用性和性能的权衡。您选择。

我的 2cents。

或者,您可以对 jQuery UI 进行逆向工程,看看它们是如何实现拖动元素的。还没有检查过,但我认为应该有更明智的方法。

关于拖动时的javascript鼠标悬停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4497251/

相关文章:

javascript - Cordova 应用程序中的 Stripe 重定向浏览器而不是加载结帐

javascript - 将C#正则表达式转换为Javascript兼容变体

javascript - 单击jquery后更改变量值

javascript - 在 Chrome 中拖放图像

javascript - 如果不是第一级,则循环获取父 html 值

javascript - 如何组织不修改状态的操作?

javascript - 使用 Javascript 检查复选框是否被选中

java用鼠标移动组件

java - Swing:如何从 JTable 中拖动多行?

c# - MouseButton.LeftButton 在拖放过程中错误地报告为释放 GiveFeedback