使用带有Haxe语法错误的jQuery Extern

时间:2014-05-11 12:56:22

标签: jquery haxe each

我刚开始使用Haxe并导入了jQueryExtern, 当我试图使用

        new JQuery(".roles:checked").each(function(){

        });

我收到编译错误:

src/LeftList.hx:69: lines 69-71 : Void -> Void should be Int -> js.html.Node -> Void
src/LeftList.hx:69: lines 69-71 : For function argument '_function'

无法弄清楚原因,

非常感谢帮助,

未婚夫。

1 个答案:

答案 0 :(得分:1)

jQueryExtern项目提供following function definition

public function each(_function:Int -> js.html.Node -> Void):jQuery.JQuery;

要注意的是函数参数指定函数上必须存在“Int”和“Node”参数 - 它们不是可选的。 (如果您认为这是不正确的,可能会在jQueryExternForHaxe的Github页面上提出问题?)因为Haxe是严格类型的,所以它只接受与定义中使用的类型签名完全匹配的函数。

以下代码应该有效:

    new JQuery(".roles:checked").each(function(index,node){
      $type(index); // Int
      $type(node); // js.html.Node
    });