2011-07-20 27 views
0

我的html:奇怪的onclick行爲添加樣式後的div

<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/

+0

您正在測試哪個瀏覽器?我只是在FF中試過它,它對我很好... – Gatekeeper

+0

@Gatekeeper Chrome – wong2

回答

2

超級簡單:在Chrome中,文本溢出。實際上,當你點擊加號時,你點擊這個減號。使用overflow: hidden;,加號和減號將粘在按鈕內。 Here (JSFiddle)你可以測試正確的行爲。

+0

謝謝,它的工作原理!你能幫助在Firefox中測試它嗎?它看起來很奇怪...... – wong2

+0

據我所見,這只是一些美學故障。嘗試強制使用'font-family',如果它不起作用,請嘗試使用圖片或更小的'font-size';) –