我想向Polymer模板内的所有输入字段添加onclick和onchange事件。
是否可以通过代码一次将事件添加到所有事件?
我想避免将onclick和onchange属性一一添加到输入字段中。
我认为这是有可能的,但是我在弄乱代码,但无法理解。
提前致谢
最佳答案
这与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?
关于dart - 如何使用Polymer.dart将onclick事件监听器添加到所有输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31785230/