我在 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 的单击。但是重新绑定显然不会发生。当我$(this).parent().click(handler)
在 addComment 单击功能中取消注释时,单击触发并且控制台显示“父 div 单击”。
如何重新绑定父 div 的单击而不立即触发它?