2013-10-07 75 views
0
<script> 
$(document).ready(function() 
    { 
    $("a").click(function(){ 
    alert("Anchor Clicked !") }); 

    $("p").click(function(){ 
    alert("p Clicked !") }); 

}); 
</script> 
</head> 
<body> 
<a href = "#"><p>Click Me ! </p> </a> 
</body> 
</html> 

當我點擊鏈接第一個alert("p Clicked !"),然後alert("Anchor Clicked !")出現。點擊元素內的元素時,jQuery事件優先

我想知道這種行爲是否被遵守?

P.S. :我不能拿出一個適當的標題編輯是值得歡迎的

+1

Downvoter care to comment ?? –

+0

您可以使用['event.stopPropagation();'](http://api.jquery.com/event.stopPropagation/)來防止事件冒泡,例如:http://jsfiddle.net/a2Uz3/ – Joe

回答

1

當您使用事件冒泡

   A 
      /\ 
---------------| |----------------- 
| element1  | | a tag  | 
| -----------| |-----------  | 
| |element2 | | p tag  | 
| -------------------------  | 
|  Event BUBBLING   | 
----------------------------------- 

讀這是由於Event bubbling

What is event bubbling and capturing?

爲了防止Event bubbling

使用event.stopPropagation

jsfiddle DEMO