我正在尝试实施一个拖放脚本,并且遇到了一个问题。当你拿一个项目并开始拖动它时 - 该项目就在你的光标正下方,onmouseover事件很少在下面的项目上被触发。但是当我在它们上面拖东西时我想要突出显示其他项目。其中一个解决方案就是不要拖动任何东西 - 这样鼠标事件就会起作用,但那看起来很难看。有没有人做过这样的事情并且知道如何克服这个问题?
如果你正在考虑建议一些JQuery插件或类似的东西 - 请不要。我不需要一个完整的解决方案,这是有教育意义的。
答案 0 :(得分:2)
IMO,为了让mouseover
事件经常被触发,会将mouseover
事件绑定到所有受影响元素的parent
元素,或者绑定到document
{1}}本身,因为事件被冒泡,它们可能是唯一可以触发mouseover
事件的元素。
然后,在hit
事件中编写mouseover
方法并主动检查鼠标光标的位置,看它是否在目标元素的边界下。可用性和性能的权衡。你选择。
我的2点。
或许,您可以对jQuery UI
进行逆向工程,以了解它们如何实现拖动元素。没有检查你,但我认为应该有一个更明智的方式。