2012-02-24 6 views
1

두 개의 수신기가 있습니다. 하나는 jquery UI의 droppable 클래스입니다.jQuery droppable DOM 이벤트 순서

$("#myDiv").droppable({ 
    drop: function(event, ui) { 
     console.log('I happened'); 
     if (window.draggingMove == true) { 
       alert('I want to get here but I never make it'); 
     } 
    } 
}); 

또한 보편적으로 지울 수있는 상위 수신기가 있습니다.

$(document).on('mouseup', function(event) { 
    window.draggingMove = false; 
    console.log('all dragging is cleared'); 
}); 

그러나, 나는 "드롭"행동과 그들이 모두 트리거를 완료 아직 때, 두 번째는 첫 번째 트리거, 그래서 난 내 콘솔에서 볼.

"all dragging is cleared" 
    "I happened" 

myDiv에 첨부 된 이후 droppable이 먼저 트리거되어야한다는 것이 이해되었습니다. 문서 수신기보다 먼저 어떻게 처리 할 수 ​​있습니까?

아이디어가 있으십니까?

+0

나는 UI 제거 이벤트의 순서가 더 명확하게 문서화되어야한다고 생각하고있다. –

답변

0

저는 $ (document)가 보편적 인 것으로 생각합니다. 따라서 모든 mouseup 이벤트에서 드롭 만 발생하는 것이 아닙니다. 드롭이 일어나기 전에 mouseup 이벤트가 발생하면 먼저 호출해야합니다.