첫 번째 질문에 중지는, 그럴 종류 :jQuery를 드래그 되돌리기 및 이벤트
내가 뭘하려고 오전 사용자가 드래그를 해제하는 함수를 호출하고, 되돌리기 애니메이션이 완료되기 전에.
내가 알 수있는 한, 되돌리기가 끝난 후에 만 중지 이벤트가 호출됩니다. draggable의 되돌리기 옵션에 함수를 전달하려고 시도했지만 작동하지 않습니다. 여기에 설명 할 코드가 있습니다.
$("a").draggable({
helper:function(){
return $("<div/>",{id:"mydrag",text:"link"}).appendTo("body");
},
revert:function(evt,ui){
// $("#mydrag").fadeOut("slow");
return true;
},
stop:function(evt,ui){
console.log("fin");
}
});
되돌리기 기능 - fadeout의 첫 번째 줄의 주석 처리를 제거하면 요소는 사라지지만 되돌릴 수 없습니다. 되돌리기 애니메이션이 완료되면 콘솔에 "fin"만 기록됩니다.
아무도 도와 줄 수 있습니까? 말할 필요도없이 나는 대답을 많이 봤지만 행운이 없다.
버스터
감사합니다. 매우 도움이됩니다. 되돌리기 콜백이 문서화되지 않은 채로 남아있는 이유가 궁금합니다. 사실, jquery UI 문서가 일반적으로 jquery core와 비교하여 왜 그렇게 열악한 지 궁금합니다. 다시 한 번 감사드립니다! – BusterLuke
당신은 올바른 길을 가고 있지만, originalPosition을 호출하면 말 그대로 jsfiddle로 아무 것도 반환하지 않습니다. .animate (정의되지 않음)를 호출하면 본질적으로 아무 것도하지 않기 때문에이 부분을 어디서 발견했는지 알 수 없습니다. 되돌리기 애니메이션은 실제로 여전히 콜백 함수에서 true를 반환 한 결과입니다. 그래서 기본적으로, 당신의 코드는 단순히 애니메이션의 '큐잉 (queuing)'을 우회하여 콜백 함수에 넣기 위해 선택한 다른 애니메이션과 동시에 실행 한 다음 true를 반환합니다. 결론 : this.animate ($ helper.originalPosition); – mkralla11
@Mike, 당신은 절대적으로 옳습니다.'$ helper.originalPosition'은'revert' 이벤트 중에 실제로'undefined'입니다. 그러나 'animate (undefined)'에 대한 호출을 제거하면 항목이 되돌아 가지 않고 "제자리에"사라집니다. 확실히 여기 뭔가가 있습니다 ... –