Javascript 可下降isn的过度事件';t工作正常后,将Dragable放到贪婪Dropable上并再次拖动

Javascript 可下降isn的过度事件';t工作正常后,将Dragable放到贪婪Dropable上并再次拖动,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,以下内容最好地解释了未触发over事件的情况 请执行以下操作: 将可拖动(黄色)拖到可拖放(红色和蓝色)上,在over事件中,可拖放将其背景色更改为绿色,在out事件中,可拖放将其背景色更改回绿色 将牵引装置放在内部可升降装置(蓝色)上 将可拖动对象拖动到外部可拖放对象(红色)上,它应该将其背景颜色更改为绿色,但它不会!over事件不会触发,但当您再次离开外部可拖放时,它的out事件会触发。从那以后,它又像预期的那样工作了 我认为这种行为是一种错误。我应该创建一个错误通知单吗 编辑: 如果我只是

以下内容最好地解释了未触发over事件的情况

请执行以下操作:

  • 将可拖动(黄色)拖到可拖放(红色和蓝色)上,在over事件中,可拖放将其背景色更改为绿色,在out事件中,可拖放将其背景色更改回绿色

  • 将牵引装置放在内部可升降装置(蓝色)上

  • 将可拖动对象拖动到外部可拖放对象(红色)上,它应该将其背景颜色更改为绿色,但它不会!over事件不会触发,但当您再次离开外部可拖放时,它的out事件会触发。从那以后,它又像预期的那样工作了

  • 我认为这种行为是一种错误。我应该创建一个错误通知单吗

    编辑:


    如果我只是为可拖放选项设置一个hoverClass,也可以实现同样的行为。见下文。这一定是一个bug,因为行为不一致。将可拖动装置放入内部可拖放装置后,其行为有所不同

    我想出了一个解决办法:

    通过调查行为,out事件中必须有一些逻辑,而drop事件中没有。每次可拖放文件进入贪婪的可拖放文件时,都会应用一些逻辑来防止祖先可拖放文件触发其拖放事件。在每个out事件中,该逻辑被重置,而drop事件中缺少该重置。因此,我从out事件中获取了所需的部分,并将它们实现到drop事件中

    见下文

    我已经可以为没有打开错误通知单而道歉了。如果有人想这么做,请说吧

    编辑:


    Ankit Saroch指出,对于这个问题已经有了一个bug通知单,还有一个更简单的解决方法。查看他在问题文本下方的评论。

    似乎是一个bug。在github中提升它。jQueryUI团队将澄清这一已知问题。看看这个答案@AnkitSaroch,我认为这与这个答案无关。答案和closed bug ticket状态是,如果Dragable在贪婪的Dropable中被释放,那么所有父元素都不会收到drop事件。在我的jsbin中,它工作正常,我希望它能这样工作。但是,在将其放入内部可下拉列表并拖动新的可下拉列表后,外部可下拉列表的over事件将不会触发。很抱歉,对于最初的错误问题,已经有此问题的票证@谢谢你。这完全是同一个问题!