停止从可拖动div到可选表的传播

时间:2009-08-25 11:13:01

标签: jquery jquery-ui

如果我有一张可选择单元格的表

 $("#selectTable").selectable({ filter: ">*>tr>td"});

其中一个单元格包含一个可拖动的div

$(".dragMe").draggable({});

HTML就像这样:

<table id="selectTable">
    <tr>
        <td>
        1
        </td>
        <td>
        2
        </td>
        <td>
        3
        </td>
        <td>
        <div class="dragMe">drag me</div>
        </td>
    </tr>
</table>

如何阻止包含div的单元格可选?

我假设div会拦截表格单元格之前的click事件,但是我在可拖动元素上使用event.stopPropagation的尝试导致我无处可去......

我们非常感谢您在可选择的家长中使用可拖动的任何建议或提示!

编辑: 似乎将div元素添加到可选择的取消选项几乎可以工作 -

 $("#selectTable").selectable({ filter: ">*>tr>td", cancel: ':input,option,div'});

这可以防止在您单击时选择div,但不能在您拖动+选择它以及周围元素时选择它。

修改 我现在已经解决了这个问题,可以找到这个问题的解决方案here

2 个答案:

答案 0 :(得分:1)

我知道这是一个老问题,但我有一个类似的问题,标签在可选单元格的表格中无法点击。

以下内容如何:

<table id="selectTable">
<tr>
    <td>
    1
    </td>
    <td>
    2
    </td>
    <td>
    3
    </td>
    <td class="dragMe">
        <div>drag me</div>
    </td>
</tr>

$("#selectTable").selectable({ filter: ">*>tr>td", cancel: ".dragMe"});

答案 1 :(得分:0)

尝试将return false放在可拖动元素的点击方法的末尾。