gpt4 book ai didi

JavaScript 捕获事件

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:50:40 25 4
gpt4 key购买 nike

我有一个问题。我的 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 包含的第二个 div,则两个 div 都会捕获该事件。在这种情况下,我怎样才能捕捉到第二个 div 的点击事件,而离开第一个 div。

我了解了事件冒泡,而 C# 中的隧道就是问题所在。这个问题怎么称呼?如何使用 JavaScript 和 jQuery 解决问题。解决方法一样吗?

最佳答案

您只需阻止事件传播到父元素:

$("#second").click(function (e) {
e.stopPropagation();

alert("second.");
});

演示:http://jsfiddle.net/EXbdt/3/

关于JavaScript 捕获事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14560115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com