代码之家  ›  专栏  ›  技术社区  ›  RYFN

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

  •  0
  • RYFN  · 技术社区  · 16 年前

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

     $("#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事件,但是我尝试使用事件.停止播放到目前为止我还没找到什么线索。。。

    任何建议或提示使用拖拽内一个可选择的父母将不胜感激!

    编辑:

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

    这可以防止在单击div时选中它,而不是在拖动并选择它以及周围的元素时选中它。

    编辑 here

    2 回复  |  直到 9 年前
        1
  •  1
  •   BrakeFire    14 年前

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

    以下内容如何:

    <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"});
    
        2
  •  0
  •   Peter    16 年前

    试着把 return false