1
목록을 재정렬하면 항목을 삭제하자마자 내 백엔드 코드에 위치가 제출되고 백엔드에서 목록의 순서가 변경됩니다. 그러나, 나는 정말로 빨리 재주문을하면 프론트 엔드와 백엔드의리스트가 잠시 후에 더 이상 동기화되지 않는다는 사실을 알게되었다. 따라서 경쟁 조건을 피하기 위해 짧은 순간 동안 드래그 한 후에 드래그를 즉시 해제하고 싶습니다. 당신이 볼 수 있듯이내가 방울을 떨어 뜨린 직후에 500ms 동안 끌기를 사용하지 못하게하려고합니다.
function reorder(panelId, type){
$(escapeClientId(panelId)).sortable({
start: function(event, ui){
ui.item.startPos = ui.item.index();
},
stop: function(event, ui){
//submit my start and end position to the server
//change the cursor to wait
$('body').css('cursor', 'wait');
window.setTimeout(wait,600);
}
});
$(escapeClientId(panelId)).disableSelection();
}
function wait(){
$('body').css('cursor', 'default');
}
, 나는 커서가 대기 모드에있는 경우에도 그러나, 여전히 사용자가 순서를 드래그 할 수 있도록, 600ms의에 대한 wait
커서 커서를 변경합니다. 내가 떨어 뜨린 직후 잠시 동안 드래그를 완전히 비활성화하는 방법이 있습니까?
당신이 실제로 유사한 접근 방식을 가지고 고맙지 만, 내 커서 하나의 작은 문제는 내가 드롭 후 경우이다, 나는 정말 빨리 다시 순서 절대로 다시 기본으로 돌아 가지 않고 '대기'상태를 유지합니다. 이 문제에 대해서도 도와 줄 수 있습니까? –
@ThangPham 답변을 업데이트했습니다. 그게 당신을 위해 더 잘 작동합니까? –
도움을 주셔서 감사합니다.하지만 여전히 작동하지 않습니다. 나는 여전히 같은 문제를 경험한다. –