2016-01-01 2 views
0

Я успешно перетаскиваю объекты, но эти объекты после их клонирования в новую область не сохраняют события мыши, которые были прикреплены к ним до их перетаскивания и удаления.JQuery draggable droppable clone events на перетаскиваемом объекте

instance.find('.gt-playlist-content').find("div[class*=gt_draggable]:not(.ui-draggable)").draggable({ 
     connectToSortable: ".gt_sortable", 
     helper: "clone", 
     revert: "invalid", 
     start: function (event, ui) { 
      var _item = jQuery(ui.helper); 

     } 
    }); 


jQuery("#main .gt-playlist-content").droppable({ 
     tolerance: "touch", 
     drop: function(event, ui) { 
      //console.log(jQuery(ui.draggable)); 

     } 
    }); 

Есть ли способ клонировать такие события, как вы бы сделали с jQuery?

$(elem).clone(true); 

редактировать:

на самом деле я нашел свой ответ здесь, как клонировать помощника jquery-ui-draggable-helper-function-for-clonetrue-true-only-clones-once

хотя этот клон плагин данных экземпляра, которые я не хочу.

ответ

0

Дайте классу элементы перетаскивания. И,

$('body').on('click','.theClass',function(){ 

    //Your codes 
}); 

это событие click будет работать для динамически добавленных элементов.

+0

Нет, это неприемлемо, его не просто щелчок, предмет должен быть клонирован данными и событиями. – Toniq