【问题标题】:TableDnD is not working with span in td jqueryTableDnD 不适用于 td jquery 中的 span
【发布时间】:2018-09-11 10:34:28
【问题描述】:

我正在创建一个表格,其中我有可拖动的 tr,我使用TableDnD 作为可拖动组件。

代码如下所示:

$(document).ready(function () {
    var iCnt = 1;
    $("#tblQuestionAns tr").each(function () {
        var id = "tr" + parseInt(iCnt);
        $(this).attr("id", id);
        iCnt++;
    });
    $("#tblQuestionAns").find("tr :even").addClass("even");
    $("#tblQuestionAns").find("tr :odd").addClass("odd");
    $("#tblQuestionAns").tableDnD({
        onDragClass: "myDragClass",
        onDrop: function (table, row) {
            $("#tblQuestionAns").find("tr").removeClass("even odd");
            $("#tblQuestionAns").find("tr :even").addClass("even");
            $("#tblQuestionAns").find("tr :odd").addClass("odd");
        }
    });
});

当我创建一个如下表时,这是有效的:

<table id="tblQuestionAns">
    <tr>
        <td>
            Test1
        </td>
    </tr>
    <tr>
        <td>
            Test2
        </td>
    </tr>
</table>

但是当我在 td 中添加 span 时,它不起作用,这里是一个例子:

<table id="tblQuestionAns">
    <tr>
        <td>
            <span>Test1</span>
        </td>
    </tr>
    <tr>
        <td>
            <span>Test2</span>
        </td>
    </tr>
</table>

这里是JSFiddle for your reference

【问题讨论】:

    标签: javascript jquery html-table drag-and-drop


    【解决方案1】:

    您是否尝试过禁用跨度上的指针事件? 它对我来说很好。不确定这是否是您要完成的任务。

    $(document).ready(function() {
      var iCnt = 1;
      $(".tblQuestionAns tr").each(function() {
        var id = "tr" + parseInt(iCnt);
        $(this).attr("id", id);
        iCnt++;
      });
      $(".tblQuestionAns").find("tr :even").addClass("even");
      $(".tblQuestionAns").find("tr :odd").addClass("odd");
      $(".tblQuestionAns").tableDnD({
        onDragClass: "myDragClass",
        onDrop: function(table, row) {
          $(".tblQuestionAns").find("tr").removeClass("even odd");
          $(".tblQuestionAns").find("tr :even").addClass("even");
          $(".tblQuestionAns").find("tr :odd").addClass("odd");
        }
      });
    });
    span {
      pointer-events: none;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://rawgit.com/isocra/TableDnD/master/js/jquery.tablednd.js"></script>
    <div>
      without span
    </div>
    <table class="tblQuestionAns">
      <tr>
        <td>
          test1
        </td>
      </tr>
      <tr>
        <td>
          test2
        </td>
      </tr>
    </table>
    <div>
      with span
    </div>
    <table class="tblQuestionAns">
      <tr>
        <td>
          <span>test1</span>
        </td>
      </tr>
      <tr>
        <td>
          <span>test2</span>
        </td>
      </tr>
    </table>

    【讨论】:

      猜你喜欢
      • 2019-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-13
      • 1970-01-01
      • 1970-01-01
      • 2019-01-30
      相关资源
      最近更新 更多