2017-04-18 100 views
0

我有一個li這是拖放和頁面刷新時工作,但當我在列表中添加使用AJAX li時,droppable事件不會附加到它。如何將0123pdroppble事件附加到liJquery Droppable添加直播活動

這裏是我到目前爲止已經試過,

$('.main-menu.workspaces li').droppable({ 
    hoverClass: "ui-state-hover", 
    tolerance: "pointer", 
    accept: '.notification-item.subtask', 
    drop: function (event, ui) { 
    var workspace_id = $(event.target).data('workspace'); 
    var task_id = $(ui.draggable[0]).data('taskid'); 
    $.post('{{route('workspace.assign', $subdomain)}}', { 
     workspace: workspace_id, 
     task: task_id 
    }).done(function(data) { 
    }); 
    } 
}); 
+1

您需要初始化'可放開()'再次將其添加到DOM –

+0

後,我要把投擲的功能,並調用它,當我加'li'到DOM新的內容? –

+0

這聽起來像它會工作 –

回答

0

感謝@Rory McCrossan您的建議,這是我做了什麼和它的工作。

(function($){ 
     var options = { 
      hoverClass: "ui-state-hover", 
      tolerance: "pointer", 
      accept: '.notification-item.subtask', 
      drop: function (event, ui) { 
      var workspace_id = $(event.target).data('workspace'); 
       var task_id = $(ui.draggable[0]).data('taskid'); 
       var href = $('.notification-body.todotask').attr('data-assignlink'); 
       $.post(href,{workspace: workspace_id, task: task_id}) 
       .done(function(data){ 
        //todo 
       }); 
      } 
      } 

     $('.main-menu.workspaces li').droppable(options); 


     // Attaching li to DOM using AJAX 
     function attachLi(){ 
      $.ajax({ 
      url: 'store', 
      method: 'POST', 
      data: { 
      task: searchString, 
      }, 
      success: function (response) { 
       //attaching li to DOM 
       $('.task').append(response.html); 

       //Reinitializing Droppable 
       $('.main-menu.workspaces li').droppable(options); 
      } 
      }); 
     } 

     ... 
     . 
     . 
})(jQuery);