我创建了一个可排序的列表和一个可拖动的项目来添加新项目。
我有一个删除按钮,当我从可拖动项中添加新项目时,我想让它可见。
如何连接事件?
这是从可拖动对象拖动到可排序对象的元素。
<a id="btn" class="ContentItemSelect" >
<span title="Remove" class="ContentItemRemove" id="Remove"></span>
</a>
我创建了一个可排序的列表和一个可拖动的项目来添加新项目。
我有一个删除按钮,当我从可拖动项中添加新项目时,我想让它可见。
如何连接事件?
这是从可拖动对象拖动到可排序对象的元素。
<a id="btn" class="ContentItemSelect" >
<span title="Remove" class="ContentItemRemove" id="Remove"></span>
</a>
Sortable 包含一个名为 receive 的选项,它允许您定义一个在添加项目时将调用的函数。
假设您要做的是取消隐藏跨度,您可以执行以下操作。如果这不是您的意图,应该很清楚如何将其转移到另一个用例。
$("#sortable").sortable({
receive: function(event, ui) {
$("#" + $(ui.item).attr("id")).find(".ContentItemRemove").show();
}
});
我不完全确定 $("#" + $(ui.item).attr("id")) 部分,因为它看起来过于复杂并且显然假设您添加的任何对象都有一个唯一的 id(它应该无论如何,但仍然值得一提)。它在我拥有的一段旧代码中运行良好,但我猜它可以被简化。
我们确实需要更多的标记和相关的 javascript 来提供有用的答案,但通常您只需组装所需的 HTML 并将其附加到您创建的项目中。
一个快速的附加说明 - 你正在使用可疑的通用 ID。你知道每个页面只能有一个唯一的 id,所以一旦你添加了一个 id 为“btn”的元素和一个 id 为“remove”的跨度,你就不能再添加相同的元素了id 到其他拖动的元素?