代码之家  ›  专栏  ›  技术社区  ›  vol7ron

可排序,带可选文本

  •  9
  • vol7ron  · 技术社区  · 14 年前

    是否可以拥有可排序元素,但仍允许用户复制/粘贴元素中的文本?

    <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单击。

    2 回复  |  直到 14 年前
        1
  •  18
  •   tinifni    14 年前

    <span>

    <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>
    

    $("#sortable").sortable({
        revert: true,
        cancel: "#sortable li span"
    });
    

    http://jsfiddle.net/6uXx8/

        2
  •  1
  •   cambraca    14 年前