如何使用Polymer.dart向所有输入字段添加onclick事件侦听器

时间:2015-08-03 10:40:01

标签: dart dart-polymer

我想在Polymer模板中的所有输入字段中添加onclick和onchange事件。

有没有办法通过代码一次性添加事件给所有人? 我想避免将onclick和onchange属性逐个添加到输入字段。

我认为这一定是可能的,但我正在搞乱代码,我无法得到它。

提前致谢

1 个答案:

答案 0 :(得分:1)

这与Listen to events on ElementList with no explicit accessor非常相似。您可能需要一个不同的选择器,但您的问题不包含足够的信息来了解可能的内容。也许:

List<StreamSubscription> _clickSubscriptions = <StreamSubscription>[];
List<StreamSubscription> _changeSubscriptions = <StreamSubscription>[];

this.shadowRoot.querySelectorAll("input")
.forEach((e) {
  _clickSubscriptions.add(e.on["on-click"].listen((event) {
    print("Event Triggered");
  }));
  _changeSubscriptions.add(e.on["on-change"].listen((event) {
    print("Event Triggered");
  }));
});

取消订阅使用

_clickSubscriptions.forEach((s) => s.cancel());
_changeSubscriptions.forEach((s) => s.cancel());

另见How can you assign mutliple listeners to a single StreamSubscription?