jQuery单击另一个div顶部的div

时间:2012-12-09 19:01:58

标签: jquery

我的jQuery click存在问题,当选择器位于另一个div之上的div时,如此处所示。

html

<div id="parent">
 <div id="child">
 </div>
</div>​

CSS

#parent{
 background-color:red;
 width:100px;
 height:100px;   
 position:relative;
}


#parent:hover #child {
 display:block;

}
#child{
 background-color:yellow;  
 width:10px;
 height:10px;  
 border: 1px solid black;
 position:absolute;
 display:none;
 bottom:0;
 right:0;
}

JS

$("#parent").bind("click", function() {
    alert('you clicked on red');
});

$("#child").bind("click", function() {
    alert('you click on yellow');
});​

如果点击红色#parent,它会给出正确的警告。如果单击黄色#child,则会显示黄色警报和红色警报。

请参阅jsfiddle

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:6)

Use jQuery's .stopPropagation()

$("#parent").bind("click", function() {
  alert('you clicked on red');
});

$("#child").bind("click", function(e) {
  e.stopPropagation();
  alert('you click on yellow');  
});​

http://jsfiddle.net/qTdkt/4/