从Dart听javascript事件

Listen to javascript events from Dart

本文关键字:事件 javascript Dart      更新时间:2023-09-26

是否有一种方法可以在Dart中侦听javascript库中的事件?

例如,当有人释放滑块时,jqrangeslider http://ghusse.github.io/jQRangeSlider/包会发出userValueChanged事件。

在Dart中通过js/js. js. js文件监听该事件是否容易?镖包吗?

希望在Dart中看到一些侦听器的例子,这些侦听器可以从javascript库中侦听类似的事件。

感谢js包,你可以处理几乎所有的js代码。以下是javascript代码片段的dart版本:

$("#slider").bind("valuesChanged", function(e, data){
  console.log("Will be executed");
});

In Dart:

js.scoped((){
  js.context.jQuery("#slider").bind("valuesChanged", new js.Callback.many((e, data) {
    print("Will be executed");
  }));
});

请注意,我使用jQuery而不是$,因为您将有dart2js的问题,否则(见问题2265)。

基本上,当你在JS中使用回调函数时,你必须使用js.Callback.manyjs.Callback.once来包装你的回调。