表行部分的JQuery Draggable

时间:2013-01-24 16:15:25

标签: jquery draggable

我有一个表,我想用JQuery使行可拖动(用户可以选择一行并将行拖到我的UI上的另一个元素,将行的数据放入该元素)。我将表的每一行(“tr”元素)设置为“draggableRow”类,并且我已经为所有这些设置了适当的功能,以便为该类的元素工作(例如,为该类设置一个可拖动的函数)。 / p>

但是,我不希望用户能够从第一列拖动(即行中的第一个“td”)。一种选择是使“td”元素可拖动,但由于填充问题,这不会感觉很清晰。表格行中有死区,不可拖动。

因此,另一种方法是将拖动保持在“tr”上,但以某种方式弄清楚用户点击了行中的第一个“td”(例如,通过$(event.target).closest(“td”) )在辅助函数中)然后停止拖动。但是,我不知道如何阻止阻力。

任何帮助将不胜感激。最好的方法是找到一些方法来使整个行除了第一个“td”可拖动(包括表格单元格之间的填充)。感谢。

1 个答案:

答案 0 :(得分:1)

“取消”选项似乎是您正在寻找的内容:http://api.jqueryui.com/draggable/#option-cancel

  

防止从指定元素开始拖动。

  $('tr').draggable({
        helper: 'clone',
        cancel: 'td:first-child'
    });

编辑:我给你举了一个例子jsfiddle:http://jsfiddle.net/Emsxg/1/