プロが教える店舗&オフィスのセキュリティ対策術

tdの中のどこをクリックしても、その中にあるチェックボックスにチェックが入るのはできたのですが、tdの中のaリンクをクリックした場合は除外をしたい場合にうまくいきません。

$(document).on('click', '.chk:not(a)', function () {
var id = $(this).parents('tr').attr('id');
$('#chk_' + id).click();//attr("checked",true);
});

html例
<tr id="1">
<td class="chk">
<input type="checkbox" />
<a href="hoge.html">link</a>
</td>
</tr>

:not(a)を外せば、td内のどこをクリックしてもチェックが入る状態はうまくいきました。
で、aリンクだけは除外したいのですが、どう書けばいいのかわかりません。

よろしくお願いします。

A 回答 (1件)

普通だとリンクをクリックすればページ遷移するので、ご質問の処理が有効なのかどうか不明ですが・・・




それはおいておいて、リンクだけ除きたいのであれば、クリックイベントの発生要素を調べて、リンク要素なら何もしないという処理にしてはいかがでしょうか?
($はjQueryと仮定しています)

$(document).on("click", ".chk", function (evt){
 if(evt.target.nodeName == "A") return;
//行いたい処理の内容を以下に記述

});
    • good
    • 0
この回答へのお礼

できました!ありがとうございます!

お礼日時:2015/09/03 13:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!