2

clone()メソッドをdoubleclickイベントにバインドして、クラスのコピーをすばやく作成しようとしています。これまでの私のコードは次のとおりです。

<style type="text/css">
.draggable { float:left; clear: both; }
</style>
<script type="text/javascript">
$(function() {
    copyit = function() {
        $(this).clone().appendTo("body").css('position','absolute').draggable();
    }
    $('.draggable').dblclick(copyit);
    $('.draggable').draggable();
});
</script>

<div class="draggable">Hi There!</div>
<div class="draggable">What's up?</div>

クローンされた要素がDOMに追加されると、それ自体を複製することができないことを除いて、すべてが機能します。どんな助けでも大歓迎です。

4

2 に答える 2

2

私の推測では、dblclickイベントを新しいDOMノードにバインドしていません。この場合、実際にはこれを達成するための2つの方法があります。

  1. 次のように、dblclickをライブ(またはデリゲート)イベントにすることができます。$('。draggable')。live('dblclick'、copyit); 参照: http: //api.jquery.com/live/ http://api.jquery.com/delegate/

  2. $(this).clone(true).appendTo( "body")。css('position'、'absolute')。draggable()のように、オブジェクトをtrueに渡すことで、クローンにオブジェクトのイベントをコピーさせることができます。 ; 参照: http ://api.jquery.com/clone/

于 2010-12-12T16:43:11.257 に答える
1

次のコマンドでダブルクリックハンドラーを設定します.live()

$('.draggable').live("dblclick", copyit);
于 2010-12-12T16:43:56.747 に答える