KineticJS:禁用拖动
Posted
技术标签:
【中文标题】KineticJS:禁用拖动【英文标题】:KineticJS: Disable dragging 【发布时间】:2012-06-07 13:53:59 【问题描述】:我需要找到一种在 KineticJS 中禁用拖动形状的方法
例如,我有一个启用了 draggable
选项的 Circle。
如果按下 shiftKey,我想禁用拖动这个圆圈,我想以不同的方式处理这种情况。
这是我想做的一个例子:http://jsfiddle.net/nL3kb/
有可能吗?
【问题讨论】:
【参考方案1】:您有多种选择。您可以做的一件事是使组可拖动并将圆圈添加到组中。在 mousedown 时,如果按下 shift,您可以取消事件传播,从而取消组拖放功能。
http://jsfiddle.net/SyMRJ/
您还可以添加逻辑,在按下 shift 键时使用 draggable(false) 关闭拖放
干杯!
【讨论】:
谢谢!我对分组解决方案不太满意,但它似乎对我有用 更新 - 您现在可以随时使用 .setDraggable(false) 取消实时 KineticJS 拖放操作 我刚刚在 Kinetic.js 5.1.0 中对此进行了实验:看起来 mousedown 事件处理程序中的 setDraggable(true/false)(取决于按键)是唯一可靠的 防止发生拖拽的方法。 dragstart / dragmove 为时已晚(拖动已经发生),并且 mousedown 中的 cancelBubble / stopPropagation() 不起作用。以上是关于KineticJS:禁用拖动的主要内容,如果未能解决你的问题,请参考以下文章
Chrome 和 Opera 中的 Kinetic JS 性能问题