在Dart中,有没有一种方法可以监听来自JavaScript库的事件?
例如,jqrangeslider http://ghusse.github.io/jQRangeSlider/ 包在某人释放滑块时会发出userValueChanged事件。
通过js/js.dart包在Dart中监听该事件是否容易?
很想看到Dart中监听来自JavaScript库的此类事件的侦听器示例。
在Dart中,有没有一种方法可以监听来自JavaScript库的事件?
例如,jqrangeslider http://ghusse.github.io/jQRangeSlider/ 包在某人释放滑块时会发出userValueChanged事件。
通过js/js.dart包在Dart中监听该事件是否容易?
很想看到Dart中监听来自JavaScript库的此类事件的侦听器示例。
感谢js包,您可以处理几乎所有的js代码。以下是相应javascript代码片段的dart版本:
$("#slider").bind("valuesChanged", function(e, data){
console.log("Will be executed");
});
js.scoped((){
js.context.jQuery("#slider").bind("valuesChanged", new js.Callback.many((e, data) {
print("Will be executed");
}));
});
jQuery
而不是$
,因为否则你会遇到与dart2js相关的问题(请参见issue 2265)。js.Callback.many
或js.Callback.once
来包装您的回调。有关更多详细信息,请参见管理回调生命周期。