2013-03-06 3 views
1

Я знаю, что dragOnTop был недавно представлен, но я хочу использовать определенный слой, а не всегда на самом высоком автогенераторе. Так что я создал скрипку: http://jsfiddle.net/jure/EwrkQ/kineticjs перемещает элемент в другой слой на mousedown

darthVaderImg.on("mousedown", function() { 
    this.moveTo(temp); 
    this.setDraggable(true); 
    //... 
} 

Но это не работает! Кажется, что когда я меняю слой, я теряю крючок для мыши ... Помогите, пожалуйста!

ответ

0

Ну, поскольку dragOnTop перемещает ваш элемент на временный слой, вы должны отключить эту функцию.

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

Это должно сработать.

+0

вы видели скрипку? я уже сделал это ... – jure

+0

EliteOctagon, вы можете мне помочь? Спасибо – jure

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) работает функция drag onmousedown, я буду исследовать далее для другого решения http://www.html5canvastutorials.com/labs/html5-canvas-kineticjs- drag-and-drop-stress-test-with-1000-shapes/ – jure

+0

У кого-нибудь есть идея сделать мою работу jsfiddle? – jure

+0

, пожалуйста, я заблокирован ... – jure

Смежные вопросы