【发布时间】:2013-11-19 12:04:59
【问题描述】:
我制作了一个小应用程序,允许用户创建矩形并拖动它们。
实现细节是您看到的“绿色”工作区是Marionette CollectionView
当你绘制盒子时,你实际上是在实例化新的矩形模型并为它们渲染视图。在 HTML 方面,矩形是#workspace 的子节点。
这是一个working demo(在 Dropbox 上,因为 jsfiddle 一直让我失望)
据我所知,为了避免在我移动已经存在的矩形时创建新矩形,我需要 stopPropagation 的 mousedown/mousemove/mouseup 事件(这就是我在首先确定用户是否在拖动,获取鼠标指针位置,计算矩形属性,并在 mouseup 上追加矩形视图)
问题是,虽然我stopPropagation 为mousedown/mousemove/mouseup,但显然mouseup 事件并没有触发,即使在释放鼠标按钮后矩形仍然跟随光标。
另外拖动一个矩形并不像我想象的那么流畅,但有点小故障。我怀疑一定是我做了一些可怕的事情(很可能),或者我处理事件的方式与 jQuery 和 jQuery UI 的方式之间存在冲突。 (我需要遵守,但我不知道如何遵守)。
请赐教!
【问题讨论】:
标签: javascript jquery jquery-ui jquery-events jquery-ui-draggable