在jQuery Sortable父级中的textarea中选择文本

时间:2010-10-08 17:36:27

标签: javascript jquery html jquery-ui

我有一个表,我的主体使用jQuery UI的Sortable函数进行了排序。在这个可排序表中,我有一个textarea,允许用户输入关于给定表条目的注释。

<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();

进入此textarea的文本输入正常,但是当我尝试在textarea中选择文本时,没有任何反应。即使使用Shift +箭头键也不会像我期望的那样。

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

已经尝试过:

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

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

  • 设置sortable的'disable'属性,以便在从textareas启动时禁用

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

1 个答案:

答案 0 :(得分:7)

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