2017-04-18 38 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);