Dart - 第二次单击事件检测

时间:2012-07-27 21:42:15

标签: dart

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>

1 个答案:

答案 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());
}