2009-08-13 5 views
1

아래에서 볼 수 있듯이 객체 그룹을 드래그 가능하게 만들려고합니다. 하지만 이러한 항목 중 하나라도 끌면 다른 것들은 자동으로 드래그 할 수 없도록 구성하고 싶습니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까? 또한script.aculo.us에서 드래그 가능 기능을 비활성화하는 방법

var products = document.getElementsByClassName('box'); 
for (var i = 0; i < products.length; i++) { 
    new Draggable(products[i].id, {ghosting:true}) 
} 

, 마우스를 사용하지 않는 코드를 통해 '되돌리기'시퀀스를 선택적으로 개별적으로, 자사의 'ONSTART을'트리거 '이 잠시 멈출', 객체가 드래그 만든, 또는 한 후이 가능하다?

답변

0

저장 모음에서 Draggables 그 중 하나를 드래그하면 그들에 destroy() 전화 (즉, onEnd가 시작됩니다) :

var draggables = []; 
var products = document.getElementsByClassName('box'); 
for (var i = 0; i < products.length; i++) { 
    var draggable = new Draggable(products[i].id, { 
     ghosting:true, 
     onEnd: function() { 
      draggables.invoke('destroy'); 
     } 
    }); 
    draggables.push(draggable) 
} 
+0

다음 주셔서 감사합니다 ... 이 코드를 시도했지만 작동하지 않는 것 같습니다. "draggables.invoke ('destroy')"문을 제외하고 모든 것이 정상적으로 작동하는 것 같습니다. 효과가없는 것으로 보입니다. 나는 다음과 같은 다른 변형을 시도했다 : [1] for (draggables의 var d) draggables.pop (d); [2] draggables.each (기능 (드래그 가능) { 경고 (항목)}); – echobase

+0

... 유감스럽게도 말문이 엉망이되었습니다. 나는 또한 시도 :.. draggables.each (기능 (드래그) { draggable.destroy를(); } 그러나이 중 어느 것도 작동하는 것 같다 없습니다 – echobase

+0

crescentfresh : 나는 마침내 그것을했다 가 여기에 내가했던 일이야 : 이 잠시 멈출 : 기능 (D) {드래그 \t Draggables.drags.each (함수() { draggable.destroy(); } } 바퀴를 돕는 덕분에 내 머리를 제출 \t \t \t \t \t \t \t \t. \t \t}, – echobase

1

당신이 파괴 Draggables을 저장하면 모든 드래그 할 수있는 요소가 수행

draggables.each(function(item){ 
    item.destroy(); 
}); 
관련 문제