jquery – 如何访问被拖放到可排序的可拖动元素的id

我正在使用JQuery库来实现拖放。

当被放入可排序列表中时,如何获取被拖动的元素?

我想得到被拖动的div的id。拖动以下元素:

<div class="control" id="control[1]" >
  <img src="img/controls/textfield.png" />
</div>

我的示例中有标准的拖动功能

$(".control").draggable({
  connectToSortable: '#sortable',helper: 'clone'
});

在下一个代码返回正确值的拖动部分停止功能

stop: function(event,ui) {
  alert(ui.helper.attr('id'));
}

这是可排序的元素:

<ul id="sortable"><li>test</li></ul>

和他的功能

$("#sortable").sortable({
  revert: true,accept: '.control',receive: function(event,ui) { 
    // here i need to get draggable element id
  }
});

我已经尝试过似乎不起作用的各种ui.id等。

receive: function(event,ui) { 
  $(ui.draggable).attr("id")
}

抛出未定义

更新:

对不起,我的错误:)正如我母亲曾经说过的 – “编写API之前”。 ui.item.attr(‘id’)工作正常。

解决方法

尝试
receive: function(event,ui) { 
  $(ui.item).attr("id")
}

根据文档,receive(实际上所有可排序的回调)都有两个参数。第二个参数应该包含:

> ui.helper – 当前的帮手元素(通常是克隆的项目)> ui.position – 当前位置帮手> ui.offset – 当前的绝对位置的帮手> ui.item – 当前拖动的元素> ui.placeholder – 占位符(如果你定义了一个)> ui.sender – 可排序的项目来自(仅存在,如果你从一个连接的列表移动到另一个)

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...