【问题标题】:JQuery Draggable On Portion of Table RowJQuery可在表格行的一部分上拖动
【发布时间】:2013-01-24 16:15:25
【问题描述】:

我有一个表,我想使用 JQuery 使行可拖动(用户可以选择一行并将该行拖动到我的 UI 上的另一个元素,这会将行的数据放入该元素中)。我将表格的每一行(“tr”元素)设置为“draggableRow”类,并为所有这些创建了适用于该类元素的适当功能(例如,为该类设置一个可拖动函数)。

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

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

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

【问题讨论】:

    标签: jquery draggable


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 谢谢,这正是我所需要的。
    猜你喜欢
    • 2012-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 2015-12-30
    • 1970-01-01
    • 2012-10-21
    相关资源
    最近更新 更多