【问题标题】:Make text selectable in a textarea within a jQuery Sortable parent在 jQuery Sortable 父级中的文本区域中使文本可选
【发布时间】:2014-04-09 03:29:44
【问题描述】:

我有一个表格,我使用 jQuery UI 的 Sortable 函数对其主体进行了排序。在这个可排序的表格中,我有一个文本区域,允许用户输入有关给定表格条目的 cmets。

<table id="status">
    <thead>
        <tr>
            <th>Name</th>
            <th>Comment</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td class="dragHandle">Jason</td>
            <td><textarea class="commentBox"></textarea></td>
        </tr>
    </tbody>
</table>

以及使表格可排序的 javascript(我在网上找到了用于使表格可排序的辅助函数)

// Return a helper with preserved width of cells
var fixHelper = function(e, ui) {
    ui.children().each(function() {
        $(this).width($(this).width());
    });

    return ui;
};

$("#status").sortable({
    helper: fixHelper,
    axis: 'y',
    handle: '.dragHandle'
}).disableSelection();

在此文本区域中输入文本可以正常工作,但是当我尝试在文本区域中选择文本时,没有任何反应。即使使用 Shift+箭头键也不会像我预期的那样运行。

如何使 textarea 的文本可选择,同时仍使整个表格可排序?

已经尝试过:

  • 当 textarea 获得焦点以尝试暂时允许可选择性时,在表格上执行可排序的“销毁”,但即使在销毁之后,文本选择仍然不稳定。

  • 设置 sortable 的 'handle' 属性以仅使 Name 字段可排序

  • 将可排序的“禁用”属性设置为从 textareas 启动时禁用

  • 在 textarea(或包含 textarea 的 div)中捕获 mousedown/mouseup 事件并调用 event.stopPropagation()

【问题讨论】:

  • 你能发布你的可排序 JS 吗?

标签: javascript jquery html jquery-ui


【解决方案1】:

使用 disableSelection 的原因是什么?这就是你的 textArea 没有获得焦点的原因。

【讨论】:

  • 喘不过气来!我曾经是盲人,但现在我明白了。我刚刚拿到了我用过的最后一个可排序的副本,甚至没有看到它挂在最后。男孩,我觉得自己很愚蠢。我会删除这个问题以挽救我的自尊心,但你值得代表给我敲我需要的头。 :)
  • 哈哈,我们都去过那里。我不知道我花了多少小时调试我从复制/粘贴中留下的东西;)
  • 在光谱的另一端,也许有点强迫症,我必须理解我粘贴的所有内容——如果我不理解,我就删掉它。在栅栏的另一边导致同样的调试噩梦。 ;) 感谢您的解释!
  • Jax,如果你删除了它,我就不会知道我的代码发生了什么!谢谢。
猜你喜欢
  • 2011-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 2011-04-14
  • 2011-04-27
  • 2015-06-03
  • 1970-01-01
相关资源
最近更新 更多