在KineticJS中改变拖动目标
Change Dragged Target in KineticJS
是否可以在单击第一个对象时切换被拖动的对象到另一个对象?
问题:在下图中,当红色圆圈被拖动时,它变成了一个蓝色矩形,但对初始拖动没有响应。必须对蓝色矩形进行第二次拖动才能拖动它。
Desired:它应该从红色圆圈变为蓝色矩形,并且蓝色矩形应该立即平滑地跟随拖动运动。
尝试:我试图.simulate()
事件,但它似乎不工作。什么好主意吗?
circle.on('dragmove', function(e) {
circle.simulate('click'); // used click handler to change into a blue rectange
circle.simulate('dragend'); // (FAILED) stop dragging red circle
rectangle.simulate('dragmove'); // (FAILED) start dragging blue rectangle
});
JSFIDDLE: http://jsfiddle.net/M6ufm/
http://jsfiddle.net/M6ufm/3/
我为你更新了这个。本质上,你是在移除圆,然后在圆上模拟一个事件,然后在矩形上模拟一个事件。
// Show BLUE rectangle on clicking RED circle, Hide RED circle, start dragging rectangle
circle.on('dragstart mousedown', function(e) {
layer.add(rectangle);
circle.remove();
rectangle.simulate('mousedown');
rectangle.simulate('dragstart');
});
相关文章:
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 删除对HTML元素的拖动
- jQuery UI可排序-多连接列表拖动
- 禁用SVG拖动
- 旋转后拖动对象
- JQuery UI可拖动潜水与滚动棒到鼠标
- jsPlumb-拖动克隆而不进行复制
- 当我在节点上拖动鼠标时,我如何防止使用d3.ehavior.zoom().on(“缩放”,重绘)
- 如何使元素在可拖动元素内可单击
- 如何在使用Kinetic拖动同一对象后,在旋转动画中保持先前的偏移
- 在d3中拖动一条线
- 使元素在iframe中可拖动
- 通过拖动可以更改三维模型对象在Three.js场景中的位置
- 动画CC-Easeljs-多个拖动和多个目标下降
- 如何在目标可排序对象接收后获取拖动项的类
- 停止用作图像拖动目标的文本区域
- 使可拖动元素落在目标上
- 拖动&使用HTML5中的嵌套目标删除
- 拖动元素会遮挡放置目标
- 在KineticJS中改变拖动目标