我对 JQuery 很陌生,但我设法自己做了一些事情。我有一个三个输入字段和三个选项。选项可以拖到输入字段中,但不能将两个可拖动项放入一个可放置项中。
如果您不将可拖动对象移动到可放置对象上,这将非常有效。但是,当您查看可放置的 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/
提前致谢。