2013-03-06 106 views

回答

0

那么,因为dragOnTop将您的项目移动到临时图层,那么您应该禁用该功能。

darthVaderImg = new Kinetic.Image({... , dragOnTop: false, ...}); 

这应该有效。

+0

你看到小提琴吗?我已经做到了... – jure 2013-03-06 23:02:06

+0

EliteOctagon,你能帮我吗?谢谢 – jure 2013-03-07 00:41:33

1

大部分问题来自可拖动对象初始状态茎:假

这是我的解决方案,到目前为止,希望它带给你更接近:http://jsfiddle.net/EwrkQ/4/

darthVaderImg.on('mouseover', function() { 
     document.body.style.cursor = 'move'; 
    }); 
    darthVaderImg.on('mousedown', function() { 
     this.moveTo(temp); 
     this.setDraggable(true); 
     this.simulate('dragstart'); 
     layer.draw(); 
     temp.draw(); 
    }); 
    darthVaderImg.on('dragmove', function() { 
     temp.draw(); 
    }); 
    darthVaderImg.on("dragend",function(){ 
     //this.setDraggable(false); 
     this.moveTo(layer); 
     layer.draw(); 
     temp.draw(); 
     this.off("mouseup"); 
     }); 

    darthVaderImg.on('mouseout', function() { 
     document.body.style.cursor = 'default'; 
    }); 
+0

感谢您的帮助,但是下面的例子(运行Kineticjs 4.0.1)可以拖拽onmousedown,我会进一步调查另一个解决方案http://www.html5canvastutorials.com/labs/html5-canvas-kineticjs-拖放和压力测试与1000形状/ – jure 2013-03-07 02:22:01

+0

任何人有一个想法让我的jsfiddle工作? – jure 2013-03-07 23:56:40

+0

拜托,我被封锁了...... – jure 2013-03-08 12:40:15

相关问题