为什么点击事件没有传播?

时间:2012-02-06 12:49:41

标签: javascript jquery

附加一个带有(有点)关闭按钮(红色)moc-up的标题。当我点击关闭按钮(与标题重叠的区域)时 - 没有任何反应。关于这个问题,你能否就正确的解决方案提出建议?

HTML:

<div id="my_body" style="background:rgba(0, 0, 0, 0.6);padding:10px;"> 
    <div id="cls_btn" style="position:absolute;left:0px;top:0px;height:50px;width:50px;background-color:red;">  </div>
    <div id="my_header" style="position:relative;padding:14px 26px 26px">  </div> 
    <div id="pic_area" style="border:2px solid #b3b3b3;margin-top:10px">
        <img id="pic" src="http://never.mind.which.pic.com" >
    </div>
</div>

JS:

$("#cls_btn").bind("click", function() {
    alert("clicked!");

    return true;
});

JSFiddle:http://jsfiddle.net/JuGx9/

谢谢!

3 个答案:

答案 0 :(得分:3)

此元素(<div id="my_header" style="position:relative;padding:14px 26px 26px"> </div>)似乎占用相同的空间并且正在执行click事件,而不是#cls_btn div。应用值z-index的{​​{1}} CSS属性可解决问题。

Working DEMO

答案 1 :(得分:1)

你的'my_header'覆盖了它。 将行更改为:

<div id="my_header" style="position:relative;padding:14px 26px 26px">  </div> 
<div id="cls_btn" style="position:absolute;left:0px;top:0px;height:50px;width:50px;background-color:red;">  </div>

答案 2 :(得分:0)

“my_header”div与“cls_btn”div重叠。看看这个:http://jsfiddle.net/JuGx9/13/

要在没有z-index属性的情况下解决这个问题,请更改div的顺序...

http://jsfiddle.net/JuGx9/15/