2

更新しました

ここでフィドル:

ここでjsfiddle

フルスクリーン結果

注:私はフィドルが初めてで、どういうわけかコードをフィドルに統合しましたが、ドラッグドロップは機能していません。

こんにちは、次のようなjqueryのドラッグ可能およびドロップ可能な関数を使用して、ドラッグ、ドロップ、およびクローン機能を実装しました。

$(".dragSigners").draggable({
  helper: 'clone',
  cursor: 'move',
  tolerance: 'fit',
  revert: true 
});

注:$("#document-reader")はスクロール可能な div です。この div の任意の場所に要素を上から下にドラッグしたい。親 div をスクロールして、div の途中で要素をドラッグできます。そして、ドラッグした場所にくっつくはずです。

$("#document-reader").droppable({
  accept: '.dragSigners',
  activeClass: "drop-area",

  drop: function(e, ui) {
    dragEl = ui.helper.clone();
    ui.helper.remove();

    document_id   = dragEl.data("document-id");
    signer_id     = dragEl.data("signer-id");
    stopPosition  = dragEl.position();
    dragEl.data("signer-id", signer_id);

    dragEl.draggable({
      helper: 'original',
      cursor: 'move',
      tolerance: 'fit',
      drop: function (event, ui) {
        $(ui.draggable).remove();
      }
    });

    // append element to #document-reader
    dragEl.addClass("dragMe");
    dragEl.removeClass("dragSigners col-sm-6");
    dragEl.find("span.closeIt").removeClass("hideIt");
    dragEl.appendTo('#document-reader');

    // ajax call for updating position to database for future reference
    updateDropPosition(dragEl, stopPosition, signer_id, document_id)
  }
});

これは、要素を適切にドラッグし、複製してドロップします。

問題

ドロップされた要素が、ドロップした場所とまったく同じ場所にドロップされていません。むしろ、要素をドロップするたびに同じ場所にドロップしています。位置もログに記録しようとしましたが、要素をどこにドロップしても、左が同じであることがわかりました。

console.log(dragEl.position())

output:  Object { top=-5, left=-5} // [NOTE: it doesn't matter where ever I drop element, It is showing top and left as -5. and it is not showing dropped element in the exact same place where I dropped it]

私のコードの何が問題なのかわかりません。

期待される結果:

次のスクリーンショットをご覧ください。

1) これは現在起こっています (間違った動作) 現在の動作

2) 予想される動作: 予想される行動

4

1 に答える 1

1

親のドラッグ可能な要素にクラスを追加dragMeして問題を解決しました。parent

ここで、dragSignersクラスを使用して要素をドラッグおよび複製します。そしてdragMe、新しく複製された要素をドラッグするために使用します。もセットdragMe position: relative

ここに、完全な

jsfiddle

全画面出力: jsfiddle 全画面出力

[注: 新しい問題が発生しました。その問題のリンクをたどってください: jquery のドラッグ、ドロップ、クローン、要素のドロップ位置の検索

于 2014-09-19T16:11:30.527 に答える