0

私は3つのブロック( div )を持っています。これらのブロックの 1 つをクリックすると、div が選択され、クラスによって表示されます。

ドラッグ機能でも停止するので、要素 の draggable()を無効にする必要があります。JS:

   $('#llens').on("click", "#mou", function (event) {
    $(this).parents(':eq(2)').draggable({
        disabled: false,
        containment: "parent",
        scroll: false,
        cursor: "move",
        delay: 200,
        start: function (e, ui) {
            remember = $(this).html();
            $(this).addClass('fantasma');
        },
        stop: function (e, ui) {
            $(this).removeClass('fantasma');

           // **WHEN IS STOPPED IT MAY DISABLE THE DRAG**
        }


    <div id="llens">
      <div class="bloc professor" id="bloc_profes" style="top:40px; left:200px; width:800px; height:200px " data-actiu="true"></div> 
      <div class="bloc text" id="bloc_text" style="top:100px; left:200px; width:800px; height:100px " data-actiu="false"></div> 
      <div class="bloc alumne" id="bloc_alumnes" style="top:200px; left:200px; width:800px; height:200px " data-actiu="false"></div>
    </div>

デモ: http://fiddle.jshell.net/blackersoul/47YvE/5/

4

2 に答える 2

1

次のように組み込みdestroyメソッドを使用します。

stop: function (e, ui) {
          $(this).removeClass('fantasma').draggable('destroy');
      }

ドキュメントページはこちら: http://api.jqueryui.com/draggable/#method-destroy

ドラッグ可能な機能を完全に削除します。これにより、要素が初期化前の状態に戻ります。

ここで動作しています: http://fiddle.jshell.net/47YvE/8/

于 2013-08-13T11:41:18.877 に答える
0

次のように、ドラッグ可能な要素のクラスを変更してみてください。

removeClass("draggable").addClass("static");

次のようなチェックを追加することもできます。

if(hasClass("draggable"){
removeClass("draggable").addClass("static")}
于 2013-08-13T11:36:36.720 に答える