UIデザイナーのようなものを作成しようとしています。だから私は「ツールボックス」と「キャンバス」を持っています。ツールボックスのアイテムをドラッグ可能にすると、ドラッグすることができます。しかし私が必要とするのは、コピーをドラッグすることで、ツールアイテムの複数のインスタンスをキャンバスにドラッグすることができます。ドラッグ可能なオブジェクトをドラッグ可能に変更する
$('.tool-box-item').draggable({
helper : 'clone',
drag : function (event, ui){
// jQuery does not allow object modification here
},
});
クローニングは唯一、とすぐにドラッグが完了すると、元の要素の移動をドラッグしている間に適用されるので、これは動作しません。ドラッグプロパティをオーバーライドしようとしましたが、ドラッグされた要素を変更できません。スタートでも同じだった。
注:ストップイベントは、ドラッグの開始時および終了後にコピーを作成したいので使用できません。私はキャンバスをドロップ可能なものとして定義してコピーを作成することもできましたが、ドラッグを開始したときにコピーを作成したいのです。
私はカスタムドラッグ機能を作成する必要があると思いますが、jQueryに他の方法があると思っていました。
ここにはjsfiddleがありますが、ドラッグの後ではなく開始時に要素をクローンしたいと思います。
EDIT:宛先はサードパーティコントロールです。これは、ドロップイベント(スタッキングと整列)のための独自の実装を持っています。私が最後にクローンを作成した場合は、その実装を変更する必要があります。
をcodepen
あなたはなぜあなたは最後にドラッグではなく、開始時の要素のクローンを作成する必要があり、説明していただけますか? –
@ YuriGor宛先は第三者のコントロールです。これは、ドロップイベント(スタッキングと整列)のための独自の実装を持っています。私が最後にクローンを作成した場合は、その実装を変更する必要があります。 –
私は下記を参照してください。私の答えを確認してください。私はこの要望に従って編集しました。 –