1

drag要素を領域droppableに送信するsocketと、サーバーに送信されます。appendページに新しい要素を追加するたびにdrop: function() {}、追加された要素がドロップされたときにトリガーされず、機能は機能しますが、ページが更新されたときにのみdrag機能します。

質問

drop関数を追加要素にバインドする方法はありますか?

コード

var UI = {
    droppedArea: $('.dropArea'),
    initialArea: $('#init-area')
};

UI.droppedArea.droppable({
   drop: function(event, ui) {
        var dropped = ui.draggable;
        var droppedOn = $(this),
        /* Rest of the code */
        socket.emit('move', data);
   }
});

// Element appended like this
function newItem(data) {
   var html = '<li>'+data.content+'</li>';
   UI.initialArea.append(html);
}

// From the server
socket.on('new', function(data) {
   newItem(data);
});
4

1 に答える 1

0

理由がわかりました。

の下にdrop: function()accept:オプションがありました。その値は、変数に格納されたクラスの型を持つ DOM 要素でした。

したがって、追加された要素は変数によって参照されなかったため、関数によってキャプチャされていませんでした

var UI = {
   var item = $('.the_item')
}

drop: function() {
    accept: UI.item,
}
于 2013-03-08T15:53:54.677 に答える