我有一个div内有一个与它关联的点击事件的元素。两个点击事件都能正常工作,除非它们同时触发。解除绑定后的jquery rebind点击
当我在内部元件上单击要禁用父div的单击事件:
我的HTML(一@foreach MVC剃刀循环内):
<td class="tdfuncLangSignOff tdNotChecked [email protected](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)
});
我发现处理者想法从this thread
这允许我点击addComment div并禁用父按钮的点击,因为我想要的。但重新绑定显然不会发生。当我在addComment点击函数中取消注释$(this).parent().click(handler)
时,点击触发器和控制台显示“父div点击”。
如何重新绑定父div的点击而不立即触发?
Doh ...我已经使用stopPropagation在许多其他功能,有一个“活”的事件,甚至没有想到在这里使用它。谢谢你的工作! – LanFeusT
@LanFeusT:很高兴帮助。 – Naor