从dart中的html调用方法/事件

时间:2014-05-22 08:47:58

标签: javascript html dart

我正在使用dart并在我的html文件中使用类似的内容:

<button doStuff="alert('test')"></button>

我想做像dart这样的事情:

myButton.doStuff();

我该怎么做?代码必须是HTML标签,最好是。我不想创建任何自定义或第三方UI元素,如聚合物。

谢谢:)

修改

问题已经改变了,对不起,这就是我想要做的事情:

//javascript code in the head of html
var htmlTag = getElementById('htmlTag');
htmlTag.doStuff(function() { 
   alert('test');
});

<!-- HTML code/ doStuff method not mentioned in the tag anymore  -->
<h1 id="htmlTag">

//dart code to call method doStuff
querySelector('#htmlTag')..doStuff();

如何使用给定元素button1从dart调用doStuff()方法。感谢

编辑2: 我改变了html标签,因为按钮让一些人感到困惑

2 个答案:

答案 0 :(得分:1)

这不适用于简单的Dart / HTML。 Polymer和Angular为这种绑定提供了支持(可能还有许多其他框架)。

您可以在以下代码中添加绑定:

querySelector('button').onClick.listen((e) => doStuff());

答案 1 :(得分:1)

听起来你真的想用doStuff方法创建一个自定义元素。试试这个:

@CustomTag('my-button')
class MyButton extends ButtonElement with Polymer {
  MyButton.created() : super.created();

  doStuff() => alert('test');
}
<my-button id="htmlTag"></my-button>
@initMethod
main() {
  querySelector('#htmlTag').doStuff();
}