javascript - 仅当拖动的元素具有特定类时,如何删除它?

标签 javascript jquery html

我想删除一个拖动的元素,但只有当它不具有“nodrop”类时才应删除它。

这是我当前的代码,它删除了所有元素,无论我是否包含 if 函数:

    $(".löschen").droppable({
    drop: function(event, ui) {
    if (!$(this).hasClass("nodrop")){
    ui.draggable.remove();
    findTotal();
    }
    }});

我没有任何计划我做错了什么......

最佳答案

您可以使用 $(this) 获取当前放置容器 (.löschen)。使用 $(ui.draggable) 你可以得到类 nodrop 的拖放元素。

$(".draggable").draggable();

$(".löschen").droppable({
  drop: function(event, ui) {
    var $dropContainer = $(this);
    var $dragContainer = $(ui.draggable)
    console.log($dropContainer, $dragContainer);
    if (!$dragContainer.hasClass("nodrop")){
      $dragContainer.remove();
    }
}});
.draggable {
  width: 100px;
  height: 100px;
}

.drop {
  background-color: green;
}

.nodrop {
  background-color: red;
}

.löschen {
  width: 200px;
  height: 200px;
  background-color: #ccc;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>


<div class="draggable nodrop">NO DROP</div>
<div class="draggable drop">DROP</div>

<div class="löschen">TRASH</div>

关于javascript - 仅当拖动的元素具有特定类时,如何删除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41409749/

相关文章:

javascript - 文本框内的错误消息

jquery - 如果值等于 1,则禁用其他选择

javascript - HTML - 在 Bootstrap 面板上显示/隐藏按钮折叠/展开

javascript - 表单重置按钮与 jquery 重置冲突

jQuery Ajax 不起作用

php - Flexbox CSS 对齐属性在某些情况下是惰性的?

javascript - Highchart 示例无法在单独的 html 页面中工作

javascript - 嵌套的 WHILE 循环未按预期运行 - Javascript/Google Apps 脚本

javascript - 在 JavaScript 函数式编程中如何使用 reduce 函数来查找一组数组之间的交集/联合?

javascript - ES6 中命名或未命名类表达式的用途是什么?