'jQuery UI Draggable' 防止点击可拖动容器内的元素

'jQuery UI Draggable' prevents some clicks on elements inside the draggable container

我正在构建一个可水平拖动的菜单:

代码非常简单,拖动效果很好:

$draggable.draggable({
   axis: "x",
   distance: 30,
   delay: 40,
   scroll: false
});

这是一个高层次的问题:


我尝试使用 jQuery 可拖动的 distancedelay 选项,但它似乎对问题没有任何影响。

我还有一个可能相关的次要问题。在 Android 9 上,在 Chrome 上,您几乎无法点击按钮。当您单击“填充”部分而不是文本本身时它会起作用,这对我来说真的很奇怪。在 iOS 上,它工作正常。


以下是标记以防有帮助:


您知道为什么 jQuery Draggable 会破坏桌面 and/or 移动设备上的点击吗?

在 1.12 中,我可以单击并且可以在没有 distance 的情况下进行拖动。见下文。

$(function() {
  $("#pills-container .draggable").draggable({
    axis: "x",
    scroll: false,
    containment: [
      0 - ($(window).width() / 2),
      0,
      $(window).width() + ($(window).width() / 2),
      0
    ]
  });
  $("#pills-container .filter-pill").click(function() {
    $(this).toggleClass("ui-state-highlight");
  });
});
.draggable-container {
  width: 100%;
  padding: 0.4em;
  overflow: none;
}

.draggable-container .filter-pill {
  display: inline-block;
  padding: 0.5em 1em;
  border-width: 2px;
  border-color: transparent;
  border-radius: 20px;
}

.draggable-container .filter-pill.ui-state-highlight {
  border-width: 2px;
}
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<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>
  <div id="pills-container" class="ui-widget">
    <div class="draggable-container ui-widget-header">
      <div class="draggable">
        <div class="filter-pill mr-4 ui-widget-content">Location</div>
        <div class="filter-pill mr-4 ui-widget-content">Length</div>
        <div class="filter-pill mr-4 ui-widget-content">Interests</div>
        <div class="filter-pill mr-4 ui-widget-content">More</div>
      </div>
    </div>
  </div>
</div>

我正在使用 FireFox 84(64 位 Linux)进行测试。如果我拖动药丸,它也会捕捉到点击。