1

最初のオブジェクトをクリックすると、ドラッグされているオブジェクトを別のオブジェクトに切り替えることは可能ですか?

問題:以下の jsfiddle では、赤い円をドラッグすると、青い四角形に変わりますが、最初のドラッグには反応しません。青い四角形をドラッグするには、2 回目のドラッグが必要です。

望ましい:赤い円から青い四角形に変化し、青い四角形がドラッグの動きにスムーズに追従する必要があります。

試行:イベントを試みまし.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/

4

1 に答える 1

0

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');     
});
于 2013-01-02T16:38:46.273 に答える