Dart Html:将事件处理程序添加到尚不存在的对象

时间:2013-07-26 19:44:51

标签: jquery html events dart live

在jQuery中,我可以向元素添加事件处理程序,但尚未存在,但稍后会通过以下内容添加:

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

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

1 个答案:

答案 0 :(得分:4)

您应该将click事件绑定到body,然后正确查询事件的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可使该事件成为目标。