点击红色区域时会发出警告“红色”,点击蓝色区域时会发出警告“蓝色”和“红色”! 怎么做它只警告'蓝色'然后停止。因为我只需要div名称的前面。
HTML
<div id="block1" style="width: 300px; height: 200px; background-color: red;">
<div id="block2" style="width: 100px; height: 100px; background-color: #09F; ">
</div>
</div>
JS
$('div').click(function(){
alert($(this).attr('id'));
});
答案 0 :(得分:3)
您需要使用event.stopPropagation() jquery函数。最好使用this.id
代替$(this).attr('id')
;因为它会更有效率。
<强> Live Demo 强>
$('div').click(function(event){
event.stopPropagation()
//alert($(this).attr('id'));
alert(this.id);
});
答案 1 :(得分:0)
你正在寻找的是stopPropagation它可以防止事件冒泡。
DEMO:http://jsfiddle.net/meo/FFZuD/5/
$(".block").click(function(e) {
e.stopPropagation();
/*etc...*/
});