2009-08-13 14 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}) 
} 

はまた、マウスを使用していない、コードをそれはonEnd '、あなたが選択的かつ個別にその「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:私は最終的にそれをやった は、ここに私がやったことだ: onEnd:機能(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(); 
}); 
関連する問題