javascript - jQueryUI Sortable - 取消属性使无法编辑输入

标签 javascript jquery html jquery-ui jquery-ui-sortable

我在版本 1.12.1 中使用 jquery-3.2.1.min.js 和 jquery-ui.min.js

我想创建一个可排序列表,在该列表中我有某些我不想排序的元素(准确地说是其他可排序列表)。输入元素保持可编辑状态非常重要。

<ul id="a">
  <li>sometext<input value="1" /></li>
  <li>moretext<input value="2" /></li>
  <li class="b">
    <ul>
      <li>text<input value="3" /></li>
      <li>blarg<input value="4" /></li>
    </ul>
  </li>
  <li>last<input value="5" /></li>
</ul>

当我像这样初始化可排序时:

jQuery("#a").sortable();

一切正常,因为我可以编辑输入元素并同时进行排序。 但是,当我添加取消属性以防止子列表可拖动时,输入字段将无法再编辑:

jQuery("#a").sortable({cancel: ".b"});

我根本不理解这种行为。

我用代码笔解决了这个问题:https://codepen.io/DesmondTMB/pen/oGgjYX

如果有人能解决这个问题,我将不胜感激。几个小时以来,我一直在努力让它按照我想要的方式运行。

谢谢!

最佳答案

取消的默认值为“input,textarea,button,select,option”。当您仅输入 .b 时,它将覆盖默认值。因此,您需要将默认值添加到取消中。

jQuery("#a").sortable({cancel: "input, textarea, button, select, option, .b"});

关于javascript - jQueryUI Sortable - 取消属性使无法编辑输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46203622/

相关文章:

javascript - 如何使用 React 更改 slider 拇指颜色

javascript - JavaScript 中的屏幕对象在 QWebEnginePage 中不可用

javascript - datejavascript 将数值转换为时间值

php - 带有 JSON 和 PHP 的 HTML5 服务器发送事件 (SSE)

jquery - 点击 next 显示下一个 div

javascript - 在 TestFlight 上测试 React Native App

javascript - 自定义 knockout 绑定(bind)不起作用

javascript - 自定义编辑弹出模板中的 Kendo Scheduler 附加按钮

jQuery - 如何获取类(class) child 的高度

jquery - 跨浏览器 : Css rule not parsed in Explorer 8 (div#main>div)