overflow : auto가있는 페이지에 여러 개의 div가 있고 많은 것은 보이는 영역에 적합하지 않습니다. 한 div에서 다른 div로 드래그 앤 드롭 할 때 대상 div 위의 div에 긴 목록이 있으면 $ (this)는 내 항목이있는 div가 아닌 해당 div의 ID를 반환합니다. 시각적으로 그리고 수정 된 html로 잘 작동하지만 div에 착륙 한 곳의 ID를 알아낼 수 있어야합니다. 해결 방법이 있어야하는 것처럼 보입니다. ???
제 목표는 수신 div의 ID를 안정적으로 얻는 것입니다. 드롭 이벤트가 발생할 때까지 위치는 변경되지 않았습니다. 어쩌면 그것은 'sortable'클래스를 사용하는 대신 역순으로 id로 각 divable div를 초기화 할 수 있지만 그 중 10 개 또는 15 개가있을 수 있으며 너무 서투른 것처럼 보일 수 있습니다.
$(".sortable").sortable({
connectWith : ['.sortable'],
dropOnEmpty : true,
placeholder : "ui-state-highlight",
revert: true,
start : function(event, ui) {
getEquip($(ui.item).attr('id').slice(8));
}
});
$(".sortable").draggable({
helper: "clone",
revert: "invalid"
});
$(".sortable").droppable({
greedy : true,
drop: function(event, ui) {
var msg = 'Moved ' + $(ui.draggable).text() + ', id#' + $(ui.draggable).attr('id').slice(8) + ' to';
msg += ' ' + $(this).attr('id'); //<<== gives wrong id if list above is long
msg += ' ' + $('#' + $(ui.draggable).attr('id')).parent().attr('id');
writeFooter(msg);//Moved hydrant wrenches, id#164 to sortable16 sortable22
},
});
당신이 옵션'욕심을 추가나요은? 우리가 당신을 도울 수 있도록 약간의 코드를 제공하십시오 – rsplak
답장을 보내 주셔서 감사합니다! 나는 성공하지 못한 채 욕심이 많았고 위의 코드를 추가했다. –