【问题标题】:How to call a jQuery function from Dart?如何从 Dart 调用 jQuery 函数?
【发布时间】:2015-06-17 18:09:23
【问题描述】:

这是jQuery中的典型情况:

$(".myClass").myFunction({
    aKey: 'some value'
});

你如何使用 dart:js 来调用它?

documentation 有点神秘,我发现here 的类似问题似乎过时了。

【问题讨论】:

    标签: dart dart-js-interop


    【解决方案1】:

    你可以这样做:

    main() {
      js.context.callMethod(r'$', ['.myClass'])
          .callMethod('myFunction', [new js.JsObject.jsify({'aKey': 'some value'})]);
    }
    

    【讨论】:

    • 哎呀。我不认为有任何理由实际这样做,对吧?或者我将不得不在再过几年维护这样的代码......(我的意思是,在这种情况下使用 dart 可能没有优势,所以我们可能不会看到太多这种事情,对吧? )
    • 其实package:js 提供了一个更简单的API,你可以继续使用它。请参阅您提到的类似问题。另请参阅stackoverflow.com/questions/20590148/… 了解 dart:jspackage:js
    • 真正的杂技!非常感谢。
    【解决方案2】:

    您可以使用内置函数 querySelector 或 querySelectorAll 代替 jQuery 选择器。所以它会是:

    main(){   
        querySelector(".myClass").myFunction(){
            aKey: 'some value'
        } 
    }
    

    或者对于多个元素:

    main(){
        querySelectorAll(".myClass").myFunction(){
            aKey: 'some value'
        } 
    }
    

    【讨论】:

      【解决方案3】:

      不如改用DQuery

      DQuery 是 jQuery 在 Dart 中的移植。

      【讨论】:

        猜你喜欢
        • 2014-03-23
        • 2014-05-31
        • 1970-01-01
        • 2023-01-16
        • 1970-01-01
        • 2021-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多