簡體   English   中英

收聽Dart的javascript事件

[英]Listen to javascript events from Dart

在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的 問題 (參見問題2265 )。

基本上,當你在JS中使用回調函數時,你必須使用js.Callback.manyjs.Callback.once來包裝你的回調。 有關更多詳細信息,請參閱管理回調生存期

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM