2010-10-08 46 views
5

我有一个表格,我已经使用jQuery UI的Sortable函数进行排序。在这个可排序的表格中,我有一个textarea,它允许用户输入关于给定表格条目的评论。使文本在jQuery Sortable父类中的文本区域中可选

<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的(或包含textarea的一个div))事件,并呼吁event.stopPropagation(

+0

你可以发布你的可排序JS吗? – methodin 2010-10-08 17:46:39

回答

7

什么是使用disableSelection推理?这就是你的textArea没有得到关注的原因。

+3

Gasp!我曾经失明,但现在我明白了。我只是抓住了最后一次排序的副本,我甚至没有看到悬挂的结局。男孩我感到愚蠢。我会删除这个问题来挽救我的骄傲,但你应该得到代表给我敲我需要的头。 :) – Jax 2010-10-08 17:54:21

+3

哈哈我们都去过那里。我不知道我花了多少时间来调试我从复制/粘贴中留下的东西;) – methodin 2010-10-08 17:56:18

+0

另一方面,也许有点强迫症,我必须理解我粘贴的所有东西 - if我没有,我砍了。导致栅栏另一侧的相同调试噩梦。 ;) 感谢您的解释! – 2010-10-18 17:32:51