添加样式到div后奇怪的onclick行为

时间:2011-07-20 12:28:01

标签: javascript javascript-events

我有html:

<div>
    <div id='icon_zoom_in' class='icon'>+</div>
    <div id='icon_zoom_out' class='icon'>-</div>
</div>  

我添加了CSS:

.icon{
    color: white;
    font-size: 100px;
    background-color: black;
    opacity: 0.7;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    width: 70px;
    height: 70px;
    text-align: center;
    line-height: 50px;
    cursor: pointer;
}  

结果很好(忽略字体,我安装了chrome扩展名):
enter image description here
但是当我在“按钮”上添加点击事件时,会发生奇怪的事情:

var $ = function(id) {
    return document.getElementById(id);
}
$("icon_zoom_in").addEventListener("click", function() {
    console.log("zoom in");
}, false);
$("icon_zoom_out").addEventListener("click", function() {
    console.log("zoom out");
}, false);  

当我点击“+”按钮时,我得到了zoom out!我必须点击它的外部空格才能获得zoom in jsfiddle:http://jsfiddle.net/wong2/w2dRB/

1 个答案:

答案 0 :(得分:2)

超级简单:在Chrome中文字溢出。实际上,当你单击加号时,你正在点击减号。使用overflow: hidden;,加号和减号将粘在按钮内。 Here (JSFiddle)您可以测试正确的行为。