如何使用Dart获取已单击元素的文本内容?

如何使用Dart获取已单击元素的文本内容?,dart,dart-webui,Dart,Dart Webui,我正在使用dart开发一个应用程序,我想获得单击元素的值。即: Html: 有人吗?我知道如何在JS中做到这一点,但我想知道是否有办法在DART中做到这一点 编辑 谢谢大家,我会尽量说得更清楚一点。我有一个循环,动态生成9个元素并将它们添加到容器中 代码: []的试试下面的方法。。。它会帮助你 DivElement div; void showValue(){ window.alert(div.innerHTML); } void main() { div = query

我正在使用dart开发一个应用程序,我想获得单击元素的值。即:

Html:

有人吗?我知道如何在JS中做到这一点,但我想知道是否有办法在DART中做到这一点

编辑

谢谢大家,我会尽量说得更清楚一点。我有一个循环,动态生成9个元素并将它们添加到容器中

代码:


[]的

试试下面的方法。。。它会帮助你

DivElement div;

void showValue(){
      window.alert(div.innerHTML); 
}

void main() { 
  div = query('#blah');
  div.on.click.add((Event e) => showValue());
}

试试下面的。。。它会帮助你

DivElement div;

void showValue(){
      window.alert(div.innerHTML); 
}

void main() { 
  div = query('#blah');
  div.on.click.add((Event e) => showValue());
}

使用示例代码,您可以只编写

printe.target.innerHtml; 在showValue函数中,它将起作用。你有什么错误吗?如果您担心警告,可以向元素或DivElement添加强制转换:

printe.target作为Element.innerHtml;
使用示例代码,您可以只编写

printe.target.innerHtml; 在showValue函数中,它将起作用。你有什么错误吗?如果您担心警告,可以向元素或DivElement添加强制转换:

printe.target作为Element.innerHtml;
看:这并不是我想要的,但对这类问题有更多的了解总是很好的,谢谢;看:这并不是我想要的,但对这类问题有更多的了解总是很好的,谢谢;非常感谢!没有完全按照我想要的那样工作,因为我正在绑定循环中创建的元素中的单击事件,因此,它只获取由循环值创建的最后一个元素,但是您给了我一个很好的指导,非常感谢!非常感谢!没有完全按照我想要的那样工作,因为我正在绑定循环中创建的元素中的单击事件,因此,它只获取由循环值创建的最后一个元素,但是您给了我一个很好的指导,非常感谢!你的特例到底是怎么说的?你的另一个例子也很适合我。我使用的是最新版本的编辑器,但我不认为这有什么区别。stacktrace:Exception:NoSuchMethodError:method not found:“value”Receiver:DivElement参数的实例:[]堆栈跟踪:0 Object.noSuchMethod dart:core补丁:1746:25 1 showOptions Square.showOptions Square啊,好的。所以您尝试访问值而不是innerHtml。值仅适用于input-Elements.Omg,真不敢相信我让这样的东西通过了lol谢谢。。。如果你不介意,我想听听你的意见。。。你认为哪个解决方案更干净,我的还是你的?没什么区别。您正在调用e.target.innerHtml,我也在这样做。做你觉得舒服的事;。如果您想用DivElement做更多的事情,我会选择您的解决方案。您的异常具体说明了什么?你的另一个例子也很适合我。我使用的是最新版本的编辑器,但我不认为这有什么区别。stacktrace:Exception:NoSuchMethodError:method not found:“value”Receiver:DivElement参数的实例:[]堆栈跟踪:0 Object.noSuchMethod dart:core补丁:1746:25 1 showOptions Square.showOptions Square啊,好的。所以您尝试访问值而不是innerHtml。值仅适用于input-Elements.Omg,真不敢相信我让这样的东西通过了lol谢谢。。。如果你不介意,我想听听你的意见。。。你认为哪个解决方案更干净,我的还是你的?没什么区别。您正在调用e.target.innerHtml,我也在这样做。做你觉得舒服的事;。如果你想用DivElement做更多的事情,我会选择你的解决方案。
var j = 0;
  var optionsSquare = query("#optionsPanel");
    while(j < 9){
      DivElement minorSquare = new DivElement();

      var minorSquareHeight = optionsSquare.clientHeight/3;
      var minorSquareWidth = optionsSquare.clientWidth/3;

      minorSquare
       ..attributes = {"class": "miniSugg"}
       ..style.width = (minorSquareWidth.round()-2).toString().concat("px")
       ..style.height = (minorSquareHeight.round()-2).toString().concat("px")
       ..style.float = "left"
       ..style.border = "1px solid"
       ..innerHtml = (j+1).toString();
       ..onClick.listen(showOptionsSquare);

      optionsSquare.children.add(minorSquare);
      j++;
    }
void showOptionsSquare(Event e){
  window.location.hash = "#optionsPanel";
  mainDiv.style.opacity = (0.2).toString();

  DivElement clicked = e.target;
  window.alert(clicked.innerHtml);
}
DivElement div;

void showValue(){
      window.alert(div.innerHTML); 
}

void main() { 
  div = query('#blah');
  div.on.click.add((Event e) => showValue());
}