2012-07-27 71 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