jQuery – 在可排序列表中操作被删除的元素

前端之家收集整理的这篇文章主要介绍了jQuery – 在可排序列表中操作被删除的元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个可拖动的列表(.field),你可以拖动和放大将项目中的项目放入可排序列表(.sortlist).我是这样做的,因为我不希望主列表(.field)以任何方式改变.它工作正常,除了我无法弄清楚如何操作可排序列表中的删除字段.

我可以通过在droppable()中的’drop:’函数中使用以下函数从可拖动区域到可放置区域执行此操作:

$(this).append('html code here to change content of dragged field');

但是这在sortable()中不起作用.我的代码看起来像这样:

$(".sortlist").sortable({
  receive: function(event,ui) {
    var dropElemTxt = $(ui.item).text();
    var dropElemId = $(ui.item).attr('id');
    $(ui.item).replaceWith('<li class="Box" id="'+dropElemId+'">Updated field! '+dropElemTxt+'</li>');
  }
});

$(ui.item).replaceWith更改正在拖动的主字段,因此这不起作用.我尝试了$(this).replaceWith,但更新了可排序区域(.sortlist).

知道我需要什么代码来引用被拖动的项目吗?

非常感谢,
阿里.

解决方法

您可以在beforeStop事件中获取拖动的项目:
beforeStop: function (event,ui) { draggedItem = ui.item;},receive: function (event,ui) { /* use draggedItem here*/ }

使用beforeStop事件代替接收对我来说已经足够了:

beforeStop: function(event,ui) { 
        var myClassItem = $('.myClass',ui.item);
        myClassItem.bind('click',function(){ /*my function*/ });
    }

猜你在找的jQuery相关文章