Dart 有没有办法监听 javascript 库中的事件?
例如 jqrangesliderhttp://ghusse.github.io/jQRangeSlider/ http://ghusse.github.io/jQRangeSlider/当有人释放滑块时,包会发出 userValueChanged 事件。
通过 js/js.dart 包在 Dart 中监听该事件是否容易?
希望看到 Dart 中侦听器的一些示例,该侦听器从 javascript 库侦听此类事件。
谢谢js包 http://pub.dartlang.org/packages/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否则(参见第2265期 http://dartbug.com/2265).
基本上,当你在JS中使用回调函数时,你必须使用js.Callback.many
or js.Callback.once
来包装你的回调。看管理回调生命周期 http://www.dartlang.org/articles/js-dart-interop/#managing-callback-lifetimes更多细节。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)