2011-01-05 15 views
1

プロパティstatus = "lock"を持つオブジェクトがあります。このオブジェクトを表すdivは、サイズ変更可能でドラッグ可能です。私は次のロジックを使用している場合、ドラッグ可能の場合jquery resizable returns false

は、その後、ドラッグが効果的 スタートをロックされています:{...ステータスは==ロックが、その後... falseを返す場合}

をしかし、サイズ変更が可能なため、同じロジックはありません

を動作しない、私はサイズ変更可能(「無効」)を設定することができますが、私はスタート以内にサイズ変更を停止したり、イベント

のサイズを変更できるかどうか迷ったあなたは取り消すことができますようにそれは見ていないあなたに

答えて

0

ありがとうございましたsからイベントをサイズ変更するtart/resizeメソッド。

cancelオプションを使用して、サイズ変更可能なイベントが適用されないセレクタを指定します。この戦略では、サイズを変更するかどうかを示すサイズ変更可能な各クラスに、divを追加する必要があります。

var data = [ 
    { id: 'test1', status: 'lock' }, 
    { id: 'test2', status: 'unlock' }, 
    { id: 'test3', status: 'lock' } 
]; 

そして、あなたはステータスでこれらのアイテムをロックしたい:「ロック」

はたとえば、あなたがこのようなデータセットを持っていたと言うことができます。あなたはこのように、このデータからDOM要素を作成するコードを持っていると仮定すると:要素は今自分のステータス 'プロパティに応じてクラス(ロックまたはロック解除を)持っていることを

var i, length = data.length; 
for(i = 0; i < length; i++) { 
    $("body").append("<div id='" + data[i].id + "' class='resizable " + data[i].status + "'/>"); 
} 

注意。

さて、あなたはクラスlockで要素にリサイズキャンセルするには、次のことが可能です。

$(".resizable").resizable({ cancel: ".lock" });

はそれを試してみてください:これは良いアプローチですhttp://jsfiddle.net/andrewwhitaker/CDUce/

+0

感謝を。私はこれを答えとして受け入れましたが、私のアプリではマウス操作のイベントがあるので、オブジェクトフラグが 'Lock'に設定されているときにevt.stoppropogationを呼び出します。この方法では、サイズ変更とドラッグが別々に行われる必要はありません。 – Nilesh

関連する問題