2

单击红色区域时会提示“红色”,单击蓝色区域时会提示“蓝色”和“红色”!如何让它只警告“蓝色”然后停止。因为我只需要 div 名称的前面。

http://jsfiddle.net/FFZuD/1/

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'));
});
4

2 回答 2

3

您需要使用event.stopPropagation() jquery 函数。最好使用this.id而不是$(this).attr('id'); 因为它会更有效率。

现场演示

$('div').click(function(event){
  event.stopPropagation()
  //alert($(this).attr('id'));
  alert(this.id);
});
于 2012-11-12T09:22:00.593 回答
0

您正在寻找的是 stopPropagation 它可以防止事件冒泡。

演示:http: //jsfiddle.net/meo/FFZuD/5/

$(".block").click(function(e) {
        e.stopPropagation();            
        /*etc...*/
});​​
于 2012-11-12T09:30:55.763 回答