jQuery的一种新功能,我正在使用可拖放的东西。我有两个Draggables和一个Droppable。我不能完全弄清楚如何根据放下的盒子做不同的事情。这是我的jQuery:
$(function() {
$( "#greatplan" ).draggable();
$( "#droppable" ).droppable({
drop: function( event, ui ) {
$( this )
.addClass( "ui-state-highlight" )
.find( "p" )
.html( "Great Plan Picked!" )
}
});
$( "#poorplan" ).draggable();
$( "#droppable" ).droppable({
drop: function( event, ui ) {
$( this )
.addClass( "ui-state-highlight" )
.find( "p" )
.html( "Poor Plan Picked!" )
}
});
})
而我的HTML:
<div id="greatplan" class="ui-widget-content">
<p>Great Plan!</p>
</div>
<br>
<div id="poorplan" class="ui-widget-content">
<p>Poor Plan!</p>
</div>
<div id="droppable" class="ui-widget-header">
<p>Drop your plan here</p>
</div>
无论我将哪个框拖到可投放对象中,我总是会收到“可怜的计划!”。有任何想法吗?
最佳答案
您需要一个放置处理程序,并测试是否放置了可拖动元素。
$(function() {
$("#greatplan").draggable();
$("#poorplan").draggable();
$("#droppable").droppable({
drop: function (event, ui) {
switch (ui.draggable.attr('id')) {
case "greatplan":
$(this).addClass("ui-state-highlight").find("p").html("Great Plan Picked!");
break;
case "poorplan":
$(this).addClass("ui-state-highlight").find("p").html("Poor Plan Picked!")
break;
}
}
});
});
DEMO