Javascript 禁止在按钮上选择表格行单击内部

Javascript 禁止在按钮上选择表格行单击内部,javascript,jquery,html,asp.net-mvc,razor,Javascript,Jquery,Html,Asp.net Mvc,Razor,当点击最后一个td按钮并执行该按钮的javascript代码时,如何防止在

当点击最后一个td按钮并执行该按钮的javascript代码时,如何防止在 我有一个表格以模态形式显示客户,当我选择一个客户时,我关闭模态形式并将值传递给文本框。 在表格中,对于每一行,我都有编辑按钮。我想做的是,如果我注意到来自客户的某些数据无效,我想单击编辑按钮,并在现有的模式表单上显示另一个用于编辑客户记录的模式表单,并且与客户的模式仍然保持打开状态

问题是我在tr class=clientpayer链接上有类,还有脚本来获取值并将值传递给文本框:

 $(document).on('click', "#ClientPayer", function (e) {
            salecreate.loadClientPayer();
            $("#choiceModal").modal('show');
            e.preventDefault();
        });

loadClientPayer: function () {
    var url = "/Sale/GetClientPayer";

    $("#choiceModal .modal-body").html("Loading ...");

    $.post(url,
        function (data) {
            $("#choiceModal .modal-body").html(data);
            salecreate.initTables();
        });
},
当我试图点击编辑按钮时,tr点击事件发生,客户列表模式关闭,数据被传递。 当我试图删除td类时,我可以打开编辑客户模式表单

这是我的html

<table class="table table-striped table-bordered table-hover " id="listClientPV">
       <thead>
              <tr>
                  <th class="hideMe">ID</th>
                  <th>Name</th>
                  <th></th>
               </tr>
        </thead>
        <tbody>
              @foreach (var c in Model)
              {
               <tr class="clientpayer-link">
                  <td id="ClientpayerId" class="hideMe">@c.ID</td>
                  <td id="ClientpayerName">@c.CustName</td>
                  <td>
                  <a href="#" id="editCust" title="Edit" role="button" class="modalForms" data-url="@Url.Action("EditCustomers", "Sale", new {ID=c.ID })"><span class="glyphicon glyphicon-remove"></span></a>
                  </td>
               </tr>
               }
         </tbody>
</table>
此处为clientpayer链接事件:

$(document).on('click', ".clientpayer-link", function (e) {     

$("#SaleService_ClientPayer").val($(this).find("#ClientpayerId").text());
        $("#ClientPayer").val($(this).find("#ClientpayerName").text());

        $("#choiceModal").modal('hide');

        e.preventDefault();
    });

提前感谢您的回答。

tr click事件在哪里?您正在显示ClientPayer的单击事件,该事件不在HTML代码中。我确实看到了编辑按钮及其单击事件。您还在循环中创建相同的id,如id=ClientpayerId。。。id必须是唯一的。$document.on'click',.clientpayer链接,函数e{$salesservice\u clientpayer.val$this.findclientpayer.text;$clientpayer.val$this.findclientpayer.text;$choiceModal.modal'hide';e.preventDefault;};在编辑按钮中,单击事件,在e.preventDefault;下。。。你试过把e.stopPropagation;?这将阻止单击事件冒泡并触发其他单击事件。@z非常感谢,这就是解决方案,我把e.stopPropagation;而不是预防违约;现在正在工作。非常感谢…tr click活动在哪里?您正在显示ClientPayer的单击事件,该事件不在HTML代码中。我确实看到了编辑按钮及其单击事件。您还在循环中创建相同的id,如id=ClientpayerId。。。id必须是唯一的。$document.on'click',.clientpayer链接,函数e{$salesservice\u clientpayer.val$this.findclientpayer.text;$clientpayer.val$this.findclientpayer.text;$choiceModal.modal'hide';e.preventDefault;};在编辑按钮中,单击事件,在e.preventDefault;下。。。你试过把e.stopPropagation;?这将阻止单击事件冒泡并触发其他单击事件。@z非常感谢,这就是解决方案,我把e.stopPropagation;而不是预防违约;现在正在工作。非常感谢你。。。
$(document).on('click', ".clientpayer-link", function (e) {     

$("#SaleService_ClientPayer").val($(this).find("#ClientpayerId").text());
        $("#ClientPayer").val($(this).find("#ClientpayerName").text());

        $("#choiceModal").modal('hide');

        e.preventDefault();
    });