クリック イベントが関連付けられている div 内に要素があります。どちらのクリック イベントも正常に機能しますが、両方が同時に発生します。
内部要素をクリックして親 div のクリック イベントを無効にすると:
私のhtml(@foreach MVC Razorループ内):
<td class="tdfuncLangSignOff tdNotChecked tdLang@(item.Language.Name)" title="@(item.SignedOffStatus)">
<div class="addComment"></div>
@Html.Hidden("funcSignOffId", item.Id)
</td>
私のjquery:
var handler = function () {
var thisTD = $(this);
var signOffId = thisTD.parent().children("input#funcSignOffId").val();
console.log("parent div click");
}
$(".tdfuncLangSignOff").click(handler);
$(".addComment").click(function () {
$(this).parent().unbind("click")
console.log("nested div click");
//$(this).parent().click(handler)
});
このスレッドからハンドラーのアイデアを見つけました
これにより、必要に応じて addComment div をクリックし、親 div のクリックを無効にすることができます。しかし、再結合は明らかに起こりません。addComment クリック機能でコメント$(this).parent().click(handler)
を外すと、クリックがトリガーされ、コンソールに「親 div クリック」が表示されます。
親divのクリックをすぐにトリガーせずに再バインドするにはどうすればよいですか?