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上运行 我无法检测到第二次点击div来触发hide_content()。我尝试过信号量 - 没有运气
<div id="tab"> </div>
<div id="content"> </div>
<div id="tab"> </div>
<div id="content"> </div>
答案 0 :(得分:1)
queryAll
用于非唯一元素。将queryAll
用于ID为tab
的唯一元素没有任何意义。您应该使用query('#tab')
,其中只有一个DivElement
作为返回值。
但是我不确定,我不知道你的问题,但是如果你需要一个切换按钮,你可能会找到这样的东西:
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());
}