当我订阅onChange
的{{1}}事件时,事件类型为InputElement
且设置了Event
属性:
target
如何复制此行为(对于我自己的自定义输入框)并创建具有new InputElement()
..onChange.listen((e) {
print(e.runtimeType);
print(e.target);
});
属性集的事件?
Event
constructors没有一个允许您传递target
,而target
property只是get-only。
我尝试找到target
的来源,看看它是如何运作的;但无法在Dart回购中找到它:(
答案 0 :(得分:1)
我认为你应该使用CustomEvent。
dispatchEvent(new CustomEvent('nameOfEvent'));
只需从您要设置为dispatchEvent
target
即可
final someDiv = dom.querySelector('#some');
someDiv.dispatchEvent(new dom.CustomEvent('xxx-yyy'));
在这个问题中,它显示了如何在Polymer elements How do I fire a custom event from Polymer Dart?
中执行此操作答案 1 :(得分:0)
您可以通过调用元素上的dispatchEvent
并传递Event
:
var e = new Event.eventType('Event', 'change', canBubble: true, cancelable: false);
dispatchEvent(e);