javascript - 在子元素中禁用 jQuery 可拖动

标签 javascript jquery jquery-ui

我正在使用jQuery draggable 。我在主 div 中添加了可拖动功能。现在,在所有子元素中它也是可拖动的。如果父级可拖动,如何禁用子级 div 内的拖动?

$(function() {
  $("#draggable").draggable();
});
#draggable {
  width: 150px;
  height: 150px;
  padding: 0.5em;
  border: black solid 2px;
}

.noDrag {
  width: 100px;
  height: 50px;
  border: blue solid 2px;
}
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div id="draggable" class="ui-widget-content">
  <p>Drag me around</p>
  <div class='noDrag'>No Drag</div>
</div>

最佳答案

要解决此问题,请使用 cancel property ,并为其提供一个选择器来匹配您要禁用拖动行为的元素,如下所示:

$(function() {
  $("#draggable").draggable({
    cancel: '.noDrag'
  });
});
#draggable {
  width: 150px;
  height: 150px;
  padding: 0.5em;
  border: black solid 2px;
}

.noDrag {
  width: 100px;
  height: 50px;
  border: blue solid 2px;
}
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div id="draggable" class="ui-widget-content">
  <p>Drag me around</p>
  <div class="noDrag">No Drag</div>
</div>

关于javascript - 在子元素中禁用 jQuery 可拖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46236118/

相关文章:

javascript - 使用 Jquery $.ajax() 以通用方式访问 json 对象

javascript - jQueryUI 落在距离鼠标最近的目标上

javascript - ng-click 父级通过子级点击

javascript - jQuery - 动态添加/删除表单部分的最佳方法

javascript - MongoDB 在集合中查找最新日期

javascript - 如何从异步调用返回响应?

javascript - 跟踪在页面上显示某些元素所花费的时间

javascript - 如何在 $.getJSON 中写入可选参数

javascript - 如何在 JQuery 中更改日期变量的颜色?

jquery-ui - 无法从 JQuery.live() 移动到 JQuery.on()