2010-06-14 5 views
0

내가 몇 가지 jQuery 정렬을 사용하고 기본적으로 정렬 가능한 init (수신 및 중지)에 두 개의 이벤트 처리기가 설정되어 있습니다. 수신 이벤트가 발생하면 중지 이벤트가 발생하지 않게하는 것이 문제입니다. 다시 말해서, 단지 하나만 보내야 할 때 두 개의 아약스 요청을 내 서버로 보냅니다.jQuery sortable events

수신 이벤트가 이미 시작되었는지 확인할 수있는 방법이 있습니까?

감사합니다.

답변

1

샘플 코드는 일부 도움이되지만 $(this).data({fired: false});과 같은 것을 사용하여 Sortable에 속성을 저장할 수 있습니다. 그런 다음 Receive 및 Stop 메서드에서이를 감지하는 방법으로 var props = $(this).data(); if (!props.fired) { // your execution code }과 같은 작업을 수행합니다. 실행 블록 안에는 $(this).data({fired: true});과 같은 행이 포함되어 전송되었음을 기록합니다.

+0

약간 더 compact :'if ($ (this) .data ('fired')) ... '그런 식으로 초기화 할 필요도 없습니다. – Tgr

1

수신 이벤트는 다른 목록에서 항목을 드래그하는 경우에만 발생합니다. "stop"핸들러에서 항목이 어떤 목록인지 확인하고 동일한 목록 인 경우 아약스 요청을 보내지 않을 수 있습니다.