У меня есть элемент внутри div, с которым связано событие click. Оба события щелчка работают нормально, за исключением того, что оба они запускаются одновременно.
Когда я нажимаю на внутренний элемент, чтобы отключить событие click родительского div:
Мой HTML (внутри цикла бритвы MVC @foreach):
<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)
});
Я нашел идею обработчика из этой темы
Это позволяет мне нажимать на div addComment и отключать щелчок на родительском div, как я хотел. Но переплет явно не происходит. Когда я раскомментирую $(this).parent().click(handler)
в функции щелчка addComment, щелчок срабатывает, и на консоли отображается «родительский щелчок div».
Как я могу повторно привязать щелчок родительского div, не вызывая его немедленно?