【问题标题】:Sortable element stay after remove()可排序元素在 remove() 后保留
【发布时间】:2016-04-27 22:20:17
【问题描述】:

我有一个包含可排序元素的列表,如果您将它们放入垃圾箱,可以将其删除。 问题是元素在移除后仍然存在。

<div class="content-remove" id="content-remove"></div>
<div class="content-elements" id="content-elements">
  <div class="element-item">
  </div>
</div>


$("#content-remove").droppable({
        accept: '#menu-contents .element-item',
        activeClass: 'active-remove',
        hoverClass: 'active-hover-remove',
        tolerance: 'pointer',
        drop: function(event, ui) {
            ui.draggable.remove();
        },
        over: function(event, ui) {
             ui.draggable.css({border: '2px solid #E64746', opacity: '0.7'});                 
             ui.droppable.css({border: '2px solid #E64746', opacity: '0.7'});
            },
        out: function(event, ui) {
            ui.draggable.css({border: '1px solid #ccc', opacity: '1'});
            ui.droppable.css({border: '1px solid #ccc', opacity: '1'});
            }
        });
$("#menu-contents .content-elements").sortable({placeholder: 'sortable-placeholder'}).disableSelection();

正如您在拇指中看到的那样,有两个占位符,但只有一个元素。我该如何解决这个问题? 谢谢。

【问题讨论】:

  • 很可能是因为你有一个 JS 错误,它无法完成 drop 过程。检查控制台。
  • 就是这样,我删除后尝试访问该元素xD

标签: jquery html jquery-ui jquery-ui-sortable jquery-ui-droppable


【解决方案1】:

我怀疑您要删除 ui.draggable 而不是原始元素。您可能想尝试以下方法:

drop: function(event, ui) {
    var id = ui.draggable.attr("id");
    $("#" + id).remove();
},

【讨论】:

    【解决方案2】:

    出现错误。删除元素后,我尝试访问 .css 方法;这会产生错误并使其余部分崩溃。

    【讨论】:

      猜你喜欢
      • 2022-07-06
      • 2021-03-04
      • 2016-07-03
      • 2021-05-13
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多