2012-12-09 4 views
1

droppable 위젯의 욕심을 true로 설정하면 맨 위에있는 요소 만 드롭 이벤트에 응답해야합니다. 여기에는 아무런 복잡성이 없지만 작동시킬 수는 없습니다.jquery ui droppable의 욕심이 많은 설정이 작동하지 않습니까?

CSS :

.page{ 
    position: absolute; 
    width:  150px; 
    height:  150px; 
    left:  0px; 
    top:   0px; 
    text-align: center; 
    background: #F0FFFF; 
    border:  1px solid #89B; 
} 

HTML :

<div class = 'page' id = 'page1'> page1 </div> 
<div class = 'page' id = 'page2'> page2 </div> 
<div class = 'page' id = 'page3'> page3 </div> 

JS가 :

document.ready = function(){ 


    $('.page').draggable() 


    $('.page').droppable({ 

     greedy: true, 

     drop: function(event, ui){ 

      console.log('assert drop once') 
     } 

    }) 


} 

는 지금 당장 무슨 일이야 있다는 것입니다 그리고 이것은 모두 내가 작업을 너무 많이하지를 가지고있다 드롭 된 모든 요소가 드롭 이벤트에 응답합니다. 조금만 기다려야 할 코드가 있기 때문에 이것을 진단하는 방법을 모릅니다. greedy 속성에 대한 설명서를 읽기

답변

2

난 당신 같은 이해 확실하지 않다 : 요소가 중첩 된 droppables에 삭제

기본적으로

는, 각각 낙하 할이 요소를 받게됩니다. 그러나이 옵션을 true로 설정하면 모든 상위 droppables가 요소를 수신하지 않습니다. 당신은 작은 하나가 이벤트를 받도록합니다 작은 하나의 요소를 삭제하는 경우 다음 다른 작은 DIV droppable를 포함하는 큰 사업부 droppable이있는 경우

은 나에게는 의미한다. http://jquery-ui.googlecode.com/svn/tags/1.6rc4/demos/droppable/greedy.html

+0

아를 내가 div의이 같은 나무에서하지 않은 경우 이벤트를 작동 생각 몇 가지 이유 :

확인이 데모는 내가 설명하고있어 이해합니다. http://www.mememaker.net/static/images/templates/14288.jpg – chibro2

+0

아니요, 이렇게하려면 첫 번째 div 만 유지하도록 droppable() 부분의 선택기를 변경하는 것이 좋습니다. – koopajah

관련 문제