Marionette应用程序上的jquery-ui.draggable和jqQuery事件出现问题

Issue with jquery-ui .draggable and jqQuery events on a Marionette App

本文关键字:事件 jqQuery 问题 draggable 应用程序 应用 程序上 jquery-ui Marionette      更新时间:2023-09-26

我制作了一个小应用程序,允许用户创建矩形,并拖动它们。实施细节是;绿色";您看到的工作区是Marionette CollectionView当你绘制方框时,你实际上是在实例化新的矩形模型并为它们呈现视图。在HTML方面,矩形是#workspace的子节点。

这是一个工作演示(在dropbox上,因为jsfiddle一直让我失望)

据我所知,为了避免在移动现有矩形时创建新矩形,我需要mousedown/mousemove/mouseup事件中的stopPropagation(这是我首先使用的方法,用于确定用户是否在拖动,获取鼠标指针位置,计算矩形属性,并将矩形视图附加到mouseup上)

问题是,尽管mousedown/mousemove/mouseupstopPropagation,但显然mouseup事件不会触发,即使在释放鼠标按钮后,矩形也会一直跟随光标。

此外,拖动一个矩形并不像我预期的那样平滑,只是有点小故障。我怀疑一定是我做了一些可怕的事情(很可能),或者我处理事件的方式与jQuery和jQuery UI之间存在冲突。(我需要遵守,但我不知道怎么做)。

请开导我!

最后,我决定编写一个简短的jQuery UI插件,它将负责所有的计算,并允许我更好地控制事件处理。有关我最终做了什么的更多信息,请查看这篇文章