私は問題があります。DOM にイベントが多すぎます。上位層は、より深いイベントをキャッチしています。
簡単な例:
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("p").click(function(){
$(this).hide();
})
$("#second").click(function(){
alert("second.");
});
$("#first").click(function(){
alert("first.");
});
});
</script>
<style type="text/css">
#first{
width: 200px;
height: 200px;
background-color: red;
}
#second{
width: 100px;
height: 100px;
background-color: green;
}
</style>
</head>
<body>
<div id="first">
<div id="second">
</div>
</div>
</body>
</html>
最初の div で囲まれた 2 番目の div をクリックすると、両方の div がイベントをキャッチします。この状況では、どうすれば 2 番目の div のクリック イベントだけをキャッチして、最初の div を残すことができますか。
イベントのバブリングについて学びましたが、C# でのトンネリングが問題です。この問題はどのように呼ばれますか? JavaScript と jQuery を使用して問題を解決するにはどうすればよいですか。解決策は同じですか?