使用jquery UI droppable和livequery时出现问题!

使用jquery UI droppable和livequery时出现问题!,jquery,drag-and-drop,livequery,event-delegation,Jquery,Drag And Drop,Livequery,Event Delegation,我有一些要删除的元素的代码 var$tab_items=$($ul:first li',$tabs)。可下拉{容差:'touch' 工作正常,但问题是当我通过ajax或javascript加载另一个按钮时, 不工作,因为新元素对此事件没有绑定 在其他类似的情况下,我发现了一个使用livequery(事件委派)的解决方案,但在这里这是不可能的,因为我不想附加函数,我想附加与第一行代码相同的函数 有没有比每次加载新对象后都使用dropabble更好的解决方案?只需在ajax成功回调中添加处理程序即可

我有一些要删除的元素的代码

var$tab_items=$($ul:first li',$tabs)。可下拉{容差:'touch'

工作正常,但问题是当我通过ajax或javascript加载另一个按钮时, 不工作,因为新元素对此事件没有绑定

在其他类似的情况下,我发现了一个使用livequery(事件委派)的解决方案,但在这里这是不可能的,因为我不想附加函数,我想附加与第一行代码相同的函数


有没有比每次加载新对象后都使用dropabble更好的解决方案?

只需在ajax成功回调中添加处理程序即可

$.ajax({
   url: ...
   ...
   success: function(data) {
        $('<li>....</li>').droppable( { tolerance: 'touch', ... } )
                          .appendTo( '#tabs ul:first' );
        ...
   }
   ...
});
$.ajax({
网址:。。。
...
成功:功能(数据){
$('
  • )。可拖放({容差:'touch',…}) .appendTo(“#tabs ul:first”); ... } ... });
    这可能是一个错误的预感,但您可能想看看:

    这是我的函数:在下拉菜单中移动一些内容:var$tab_items=$('ul:first li',$tabs).可下拉({容差:'touch',drop:function(ev,ui){var$item=$(This);var$list=$($item.find('a').attr('href')).find('connectedSortable');ui.draggable.hide(300,function(){$tabs.tabs('select',$tabs.index($item));$(this.appendTo($list.show('slow');});}这是一个需要多次复制或执行的大函数(就像下面的第二个答案),我需要在添加另一个div或按钮时,它具有相同的“删除”行为