我有一個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