Ich habe eine Menüstruktur, die ich dynamisch ändern möchte. Das Menü könnte so aufgelistet werden.jquery droppable auf verschachtelten Listen mit derselben Klasse
<ul>
<li id="1/2" class='draggable'>
<ul>
<li id="1/3" class='draggable'>
content
</li>
<li id="2/4" class='draggable'>
<ul>
<li id="5/2" class='draggable'>
content
</li>
</ul>
</li>
</ul>
</li>
<li id="1/6" class='draggable'>
content
</li>
Und der jQuery-Code sieht wie folgt aus:
$(".draggable").draggable({
revert: 'invalid',
});
$(".draggable").droppable({
hoverClass: "ui-state-active",
live: true,
drop: function(event, ui) {
var draggableId = ui.draggable.attr("id");
var droppableId = $(this).droppable('option', 'accept', ui.draggable).attr("id");
alert(draggableId + droppableId);
}
});
Wie Sie in der jQuery-Code sehen, ich will das gezogene Element fangen, und das Element, wo sie fallen gelassen wird. Das Problem hierbei ist, dass jquery die drop-Funktion in jeder verschachtelten Liste mit der Klasse draggable ausführt. Ich möchte nur den tiefsten Listenpunkt erfassen.