是否可以使用可排序元素,但仍然允许用户在元素中复制/粘贴文本?
<div class="sortable">
<div class="pseudo-sortable">Foo</div>
<div class="pseudo-sortable">Bar</div>
<div>other stuff that i don't care if a user
can't copy (maybe images or buttoms)</div>
</div>
我可以很容易地做到:
$('.sortable').sortable({cancel: '.pseudo-sortable'});
这将允许我在浏览器中选择文本并根据需要复制/粘贴。但是,这也使得人们无法拖放。所以我认为我想要的是从取消开始,但如果鼠标在容器外一定距离,那么伪排序不再被取消。这有意义吗?
如果这不可行,我的最后一个选择是应用一个触发器,在可排序和不可排序之间切换容器,以便他们可以选择文本,但我更愿意最小化ui点击。
答案 0 :(得分:18)
如何将文字放入<span>
?
<强> HTML 强>
<ul id="sortable">
<li><span>Item 1</span></li>
<li><span>Item 2</span></li>
<li><span>Item 3</span></li>
<li><span>Item 4</span></li>
<li><span>Item 5</span></li>
<li><span>Item 6</span></li>
<li><span>Item 7</span></li>
</ul>
<强>的jQuery 强>
$("#sortable").sortable({
revert: true,
cancel: "#sortable li span"
});
答案 1 :(得分:1)
尝试添加handle。这个想法是你只能从句柄开始拖动项目,例如,可以是元素内的一个图标。