2012-12-19 118 views
0

我目前正試圖在文章標記(HTML5)中放置幾個​​可點擊的div。現在,問題是我的文章也是可點擊的,所以每當我嘗試點擊我的div時,它都會假定我點擊了文章。我的點擊監聽器在JavaScript設置,這裏是我的代碼:在可點擊的文章內創建可點擊的div(HTML5)

HTML:

<article id='one'> 
<div id='somediv' class='up'>Stuff</div> 
</article> 

當然這只是什麼即時試圖做一個例子。

的Javascript:

articles = document.getElementsByTagName('article'); 
for (var i = 0; i < articles.length; i++) { 
    articles[i].addEventListener('click',redirect,false); 
} 

var UpVote = document.querySelectorAll(".up"); 
for (var i = 0, length = nodeList.length; i < length; i++) { 
    UpVote[i].addEventListener('click',UpVote,false); 
} 
function UpVote(){ 
    alert(this.id); 
} 

正如你可以看到這裏,我有2個循環對所有我的文章對象和.UP類對象設置監聽器。我相信這些工作,功能也是如此。我沒有發佈我的重定向功能,因爲我是積極的它的作品,我得到我的重定向。

我的CSS:

.up{ 
display:block; 
padding-left:3px; 
background:rgba(150,195,225,.4); 
border-radius:5px; 
-webkit-box-shadow:1px 1px 2px rgba(110,110,110,.1); 
width:20px; 
-webkit-transition: width .3s; 
} 

這篇文章是設置爲一個塊爲好。

感謝您的幫助!

+0

在你的代碼中,我看到事件監聽器被附加到文章元素和元素的類「up」,但你的HTML中沒有up類的元素。 – j08691

+0

有,somediv是,我只是沒有這樣做。我編輯 – arielschon12

回答

0

查看事件冒泡和捕獲。當你點擊div時,你的也是點擊這篇文章,所以重定向將首先觸發,並可能阻止投票被調用。

+0

那麼我該如何解決這個問題? – arielschon12