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アクションリンク/画像の1つがクリックされたときにjqueryが起動しないようにするにはどうすればよいですか?

not() メソッドを使用してみましたが、機能しません。例えば修正されたjquery..

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

1 に答える 1

1

イベント オブジェクトの target プロパティを使用できます。return を使用してアンカーの 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 に答える