我有一个表,我的主体使用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()
答案 0 :(得分:7)
使用disableSelection的原因是什么?这就是你的textArea无法获得焦点的原因。