EaselJS / canvas在拖放过程中更改元素焦点
EaselJS / canvas change element focus during drag & drop
这个jsfiddle最好地说明了我的问题 http://jsfiddle.net/sdg9/YYUrm/
circle.addEventListener("mousedown", function (evt) {
if (evt.nativeEvent.button === 0) {
square = new createjs.Shape();
square.graphics.beginFill("blue").drawRect(0, 0, 100, 100);
makeDraggable(square);
stage.addChild(square);
stage.update();
//How do I give focus to drag blue square without having to click again?
}
});
我有一个对象(红色圆圈),在鼠标按下时将另一个形状(蓝色正方形)添加到画布上。蓝色方块可以在画布周围拖动。
我想让它在鼠标按下红色圆圈时创建一个蓝色正方形,并且如果我仍处于鼠标按下状态,就可以立即拖动。目前,我必须在蓝色方块上手动执行第二次鼠标按下以拖动它。
我不知道我是否需要为蓝色方块提供焦点,以编程方式触发事件,或者做其他事情来使其正常工作。任何指导将不胜感激。
你也可以听圆圈上的"pressmove"事件,但你要拖动的是你刚刚创建的方块:
circle.addEventListener("pressmove", function (evt) {
if (evt.nativeEvent.button === 0) {
evt.target.topObj.x = evt.stageX;
evt.target.topObj.y = evt.stageY ;
stage.update();
}
});
并且 topObj 对象保存在"鼠标按下"事件中:
circle.addEventListener("mousedown", function (evt) {
if (evt.nativeEvent.button === 0) {
// Create your square
...
// Then save it as the square on top of the circle
evt.target.topObj = square;
}
});
相关文章:
- 单击时将焦点更改为元素
- 检查元素是如何获得焦点的
- 单击其他元素或鼠标向上时隐藏输入框,但保留一次焦点
- 将焦点移动到页面元素
- 如何使元素在按下按钮时不会失去焦点
- 将焦点设置为输入元素角度 js
- 遍历 DOM 以查找哪个元素具有焦点
- 如何仅在输入元素具有焦点时才启动 setInterval
- jQuery网站的键盘快捷键,焦点使用左键和右键转到上一个或下一个元素
- 如何检查焦点是否离开了一组元素
- 键盘没有在Android和BlackBerry中显示元素焦点
- 焦点和一个元素应该反映到CSS中的另一个元素
- 如何在iOS中对输入元素使用Jquery:焦点选择器
- EaselJS / canvas在拖放过程中更改元素焦点
- 使用javascript / jquery更改元素焦点(单击)上的输入/文本区域样式表
- 角度形式 - 元素焦点
- 防止元素焦点丢失(需要跨浏览器解决方案)
- 全局元素焦点监听器
- 在Angularjs中,作用域值在表单的元素焦点上重置
- 通过JS选择伪元素:焦点和:活动