拖放 – kineticjs将图像从dom拖放到画布中

前端之家收集整理的这篇文章主要介绍了拖放 – kineticjs将图像从dom拖放到画布中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经在dom上加载了一个图像,我希望能够将该图像拖动到画布中并将其放入画布并从中创建一个kineticjs对象.

我不知道如何使图像可拖动,我不知道如何使画布对拖放已存在于dom上的事件做出反应.有人能告诉我怎么做吗?

大多数教程都展示了如何从画布或文件系统中拖放,我正在寻找如何从DOM拖动到画布.

背景资料:
我想要一个菜单​​系统或一堆缩略图,用户可以拖放到画布中以展开照片.

提前致谢!

解决方法

没问题!

1你必须使用html5中的“拖放”.教程:http://www.html5rocks.com/en/tutorials/dnd/basics/

2设置dom事件到图像:

  1. var dragSrcEl = null;
  2. //image
  3. document.getElementById("yoda").addEventListener('dragstart',function(e){
  4. dragSrcEl = this;
  5. });

3容器对象的事件:

  1. var con = stage.getContainer();
  2. con.addEventListener('dragover',function(e){
  3. e.preventDefault(); // !!important
  4. });
  5. //insert image to stage
  6. con.addEventListener('drop',function(e){
  7. var image = new Kinetic.Image({
  8. draggable : true
  9. });
  10. layer.add(image);
  11. imageObj = new Image();
  12. imageObj.src = dragSrcEl.src;
  13. imageObj.onload = function(){
  14. image.setImage(imageObj)
  15. layer.draw()
  16. };
  17. });

当然还有完整的例子:http://jsfiddle.net/lavrton/n4w44/

猜你在找的HTML相关文章