2012-07-27 74 views
0
var modify = document.queryAll("#tab"); 

    for(var i=0; i<modify.length; i++) 
    { 
    modify[i].on.click.add((Event e) => show_content(i)); 
    } 
// code for hide_content() 

我有兩個功能show_content()和hide_content(),關於我是不是能檢測上一個div第二次點擊觸發hide_content div的 ()操作。我試過用信號量 - 沒有運氣飛鏢 - 第二次點擊事件檢測

<div id="tab"> </div> 
<div id="content"> </div> 

<div id="tab"> </div> 
<div id="content"> </div> 

回答

1

queryAll用於非唯一元素。對於ID爲tab的獨特元素使用queryAll沒有任何意義。您應該使用query('#tab'),您只需要一個DivElement作爲其返回值。

但是我不知道,我undersand你的問題,但如果你需要一個切換按鈕,你也許在尋找這樣的事情:

DivElement uniqeDiv; 

void toggle() { 
if(uniqeDiv.hidden) { 
    // uniqeDiv.hidden = false; 
    show(); 
} else { 
    // uniqeDiv.hidden = true; 
    hide(); 
} 
} 

void main() { 
    uniqeDiv = query('#tab'); 
    uniqeDiv.on.click.add((Event e) => toggle()); 
} 
+0

我有多個div的具有相同的ID,每個div有它是在單獨的div中擁有自己的內容 – tracius01 2012-07-27 22:38:16

+1

您不能使用相同的「ID」來擁有div。這種情況下有類。 – Alex 2012-07-27 22:43:39