私はJQueryを初めて使用しますが、自分でいくつかのことを行うことができました。3 つの入力フィールドと 3 つのオプションがあります。オプションは入力フィールドにドラッグできますが、2 つのドラッグ可能なものを 1 つのドロップ可能なものにすることはできません。
ドラッグ可能なものをドロップ可能なものの上に移動しない場合、これは完全に機能します。しかし、ドロップ可能な JQuery を調べると、「out」イベントが実行されます。私の問題を解決できる「ドロップアウト」イベントを望んでいましたが、ありません。
(「removeClass」機能にも問題があります。機能しないためです。しかし、それは大きな問題ではありません...)。
$(function() {
var textbox;
$( ".draggable" ).draggable({
revert: function ( event, ui ) {
$(this).data("draggable").originalPosition = {
top: 0,
left: 0
};
return !event;
},
});
$( ".droppable" ).droppable({
activeClass: "ui-state-hover",
hoverClass: "ui-state-active",
drop: function( event, ui ) {
//check if droppabele contains draggable
if ($(this).data("containsDrop") === 0 || $(this).data("containsDrop") === undefined) { //doesn't contain
$(this).data("containsDrop", 1);
ui.draggable.position( { of: $(this), my: 'left top', at: 'left top' } );
textbox = this;
$( this ).addClass( "ui-state-highlight" )
} else { //contains --> go back to options
ui.draggable.animate({ top: 0, left: 0 }, 'slow');
}
},
out: function ( event, ui ) {
$(this).data("containsDrop", 0);
$(textbox).removeClass( "ui-state-highlight" );
}
});
});
私は、このフィドルを見ることができることを望んでいました: http://jsfiddle.net/u7aJ7/10/
前もって感謝します。