如何使用`target`属性设置创建`Event`实例?

时间:2014-11-07 16:39:45

标签: events dom dart

当我订阅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回购中找到它:(

2 个答案:

答案 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);