jquery - 选择子元素而不选择父元素

标签 jquery css

我们正在做日志记录,我们有一个网站的标题,我们在点击它时随时记录。元素中的元素也需要记录。有没有一种方法可以仅在使用 jquery .not() 函数或其他任何方法在标题中单击时记录子元素?

Here is the working jsfiddle

HTML

<div id="header">
    <div><a class="box blue" href="#">Blue</a></div>
    <div><a class="box red" href="#">Red</a></div>
    <div><a class="box green" href="#">Green</a></div>
</div>

CSS

$('#header').on('click', function() 
    alert('header')
});
$('.box').on('click', function() {
    alert($(this).attr('class'));
});

最佳答案

您可以使用 jQuery 的 .stopPropagation() 函数来停止从子级到父级的冒泡:

$('#header').on('click', function() {
    alert('header');
});
$('.box').on('click', function(e) {
    e.stopPropagation();
    alert($(this).attr('class'));
});
#header { padding:20px; background:yellow; overflow:auto; }
    .box { width:50px; height:50px; float:left; margin:0 20px 0 0; }
    .blue { background:blue; }
    .red { background:red; }
    .green { background:green; }
	a { color:white; display:block; text-align:center; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="header">
	<div><a class="box blue" href="#">Blue</a></div>
    <div><a class="box red" href="#">Red</a></div>
    <div><a class="box green" href="#">Green</a></div>
</div>

关于jquery - 选择子元素而不选择父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26062188/

相关文章:

javascript - Jquery 排序功能不适用于 Chrome 浏览器

javascript - 数据表 Javascript 链接在第二页上不起作用

html - 当我调整窗口大小时渐变用完

javascript - d3.js 气泡图无法正常工作 Firefox 浏览器(错误 : classes is not defined)

jQuery 双动画焦点?

javascript - 独立于侧边栏滚动主页内容

javascript - 具有模糊深色背景的纯 CSS 灯箱

iphone - 使用移动 CSS 改造现有网页

PHP:_POST 和 CSS,如何显示事件链接

jquery - Highcharts 设置 x 轴类别