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 !") 表示されます。

この動作が観察されていることを知りたいですか?

PS : 適切なタイトルを付けられませんでした。編集を歓迎します

4

1 に答える 1

1

これは、に起因するものですEvent bubbling

イベントバブリングを利用する場合

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

イベントのバブリングとキャプチャとは何ですか? を参照してください

防ぐためにEvent bubbling

event.stopPropagationを使用する

jsfiddleデモ

于 2013-10-07T14:27:13.537 に答える