2011-03-28 42 views
1

我有一個div,在其內部的幾個錨鏈接:jQuery的綁定功能於母公司的股利而不是子錨點,反之亦然

<div id="myDiv"> 
+----------------------------+ 
|       | 
| <a class="myAnc">...</a> | 
| <a class="myAnc">...</a> | 
|       | 
+----------------------------+ 

我想click事件綁定到#myDiv調用myFunction1()但有.myAnc標籤致電myFunction2()。使用jQuery的bind,會發生什麼,無論您點擊什麼(div或錨點),都會調用myFunction1myFunction2

我怎樣才能確保他們呼籲他們的兩個單獨的功能(和只有那些功能)?

+0

當你點擊錨點時,首先'解除綁定'前一個事件,然後使用函數2 – diEcho 2011-03-28 08:05:33

回答

3

myFunction2(ev)電話:

ev.stopPropagation(); 
2

試試這個:

$("a.myAnc").click(function(e) { 
    e.stopPropagation(); // prevent DOM event bubbling which will trigger the click of the parent div 
}); 

$("#myDiv").click(function() { 
}); 
+0

+1綁定感謝解決方案。很高興知道它叫做冒泡。在一分鐘前檢查了另一個答案 – Kyle 2011-03-28 08:15:28

0
$('#myDiv, a.myAnc').click(function(event) { 
    event.stopPropagation(); // Prevent bubbling to #myDiv 

    alert('you click ' + $(this)); 
});