0

我有一个 html 表... ...一些 jquery 代码绑定到表行单击

$(document).ready(function () {
    var tr = $('#RolesTable').find('tbody>tr');
    tr.bind('click', function (e) {
        code fired on table row click..
    }
}

...以及表格中用于编辑和删除功能的一些操作链接

<td class="TablePadding">
  @Html.ActionLink(" ", "Edit", new { id = item.RoleID }, new { @class = "editImg" }) 
  @Html.ActionLink(" ", "Delete", new { id = item.RoleID }, new { @class = "deleteImg" })
</td>

当单击 html 操作链接/图像之一时,如何让 jquery不触发?

我试过使用 not() 方法,但无法让它工作。例如修改jquery ..

var tr = $('#RolesTable').find('tbody>tr').not("a.editImg").not("a.deleteImg");
4

1 回答 1

1

您可以使用事件对象的目标属性。如果单击其中一个锚点,则使用返回,则不会执行处理程序的其余部分。

$(document).ready(function () {
    var tr = $('#RolesTable tbody > tr');
    tr.bind('click', function (e) {
        var $target = $(e.target);
        if ($target.is('a.editImg') || $target.is('a.deleteImg')) {
          return;
        } else {
          // code fired on table row click..
        }
    })
})
于 2012-09-06T12:04:41.307 回答