2009-11-18 4 views
0

클릭 할 때 요소를 선택할 수있는 기능이 있습니다. 그것은 다음과 같이 진행됩니다jQuery로 정렬 할 때 요소가 선택되지 않도록하려면

$('ul.grid li').click(function() { 
    var input = $(this).find('input.select-state:first'); 
    var value = input.attr('value'); 
    if (value == '0') { 
     $(this).addClass('active'); 
     input.attr('value', '1'); 
    } else { 
     $(this).removeClass('active'); 
     input.attr('value', '0'); 
    } 
}); 

나는이에 정렬 jQuery를 추가 할 때, 떨어지기 요소가 바로이 기능이 실행되기 때문에 내가 그것을 놓을 때 선택됩니다. 이 문제를 해결하기위한 접근 방법은 무엇입니까?

감사합니다.

답변

0

Sortable을 사용하지 않았지만 .stopImmediatePropagation()을 sortable을 호출하는 함수에 추가 할 수 있습니까?

, 시작을 끌어과 같이 할 때이 요소에 플래그를 설정할 수
+0

왜 "jQuery Sortable을 사용하지 마십시오"라고 말하면됩니까? –

+0

oops .. typo. 's/use/used /' – beggs

0

:

$(document).ready(function(){ 
    $('ul.grid').sortable({ 
     start: function(event, ui){ 
      ui.item.data('dragged', true); 
     } 
    }); 
}); 

그럼 그냥 다음과 같이 확인하고 클릭 기능에 그 플래그를 플립 :

$('ul.grid li').click(function() { 
    if($(this).data('dragged')){ 
     $(this).data('dragged', false); 
    } else { 
     var input = $(this).find('input.select-state:first'); 
     var value = input.attr('value'); 
     if (value == '0') { 
      $(this).addClass('active'); 
      input.attr('value', '1'); 
     } else { 
      $(this).removeClass('active'); 
      input.attr('value', '0'); 
     } 
    } 
}); 
관련 문제