如何将此函数从 Javascript 翻译为 Dart?
function addEvtListener(Element el, evtName, fn) {
return el.addEventListener ? el.addEventListener(evtName, fn, false) : el.attachEvent('on' + evtName, fn);
}
主要问题是事件名称是动态的。我显然可以打电话:
el.onClick.listen((event) => fn(event));
如果 evtName
是点击事件。但是Dart中有这样的方法吗?
el.on("click").listen(event) => fn(event));
最佳答案
Events 类文档概述了按名称监听事件的不同方法:http://api.dartlang.org/docs/releases/latest/dart_html/Events.html
您会发现两者都可以做到:
new EventStreamProvider(evtName).forTaget(el).listen(fn);
或
el.on[evtName].listen(fn);
关于event-handling - 按名称动态添加事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17255407/