1

在 jQuery 中,我可以将事件处理程序添加到尚不存在但稍后通过以下方式添加的元素:

$(window).on('click', '.record-todo .icon-remove', function() {
    $(this).remove();
});

我在 Dart 的 Html 库中没有找到类似的东西

4

1 回答 1

4

您应该将单击事件绑定到正文,然后target正确查询该事件。这将产生作为目标的元素。这是一个工作示例。一、html文件:

<!DOCTYPE html>

<html>
  <body>
    <p id='text'>This is a para</p>
    <script type="application/dart" src='webscratch.dart'></script>
    <script src="packages/browser/dart.js"></script>
  </body>
</html>

还有 Dart 文件:

import 'dart:html';

void main() {
  document.body.onClick.listen((MouseEvent event){
    window.console.log(event.currentTarget);
    window.console.log(event.target);
    var div = new DivElement();
    div.text = 'New div element content';
    document.body.children.add(div);
  });
}

当您第一次单击 时<p>,事件目标将是一个 ParagraphElement,而 targetEvent 将是一个 BodyElement。单击<p>生成一个新的 div。单击该 div 使其成为事件目标。

于 2013-07-26T20:36:34.420 回答