jQuery~只获取内部div id名称

时间:2012-11-12 09:20:41

标签: jquery

点击红色区域时会发出警告“红色”,点击蓝色区域时会发出警告“蓝色”和“红色”! 怎么做它只警告'蓝色'然后停止。因为我只需要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'));
});

2 个答案:

答案 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...*/
});​​