首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在GWT JSNI中调用JCrop

在GWT JSNI中调用JCrop
EN

Stack Overflow用户
提问于 2012-05-15 14:18:06
回答 1查看 433关注 0票数 1

我试图让JSNI调用等价于这个JavaScript片段:

代码语言:javascript
复制
jQuery(function($) {
    $('#target').Jcrop();
});

我相信我已经正确导入了库,但是我似乎无法正确地从JSNI调用这个函数。使用下列方法时:

代码语言:javascript
复制
public static final native void initializeJCrop() /*-{
    $wnd.jQuery(function($) {
        $('#target').Jcrop();
    });
}-*/;

引发以下异常:

由: com.google.gwt.core.client.JavaScriptException:(TypeError):$(“#.Jcrop”)引起的.Jcrop不是一个函数

我怎么才能解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2012-05-15 14:35:57

使用JSNI调用外部函数的语法与简单的JavaScript略有不同。

您必须提供完整的包/类引用以及被调用的函数的参数类型/类(因为您的函数没有任何参数,您不必担心)尝试更改调用以包含定义JCrop的包和类。让我们说定义JCrop的类的位置是"api.jcrop“

那你的电话一定是

代码语言:javascript
复制
    @api.jcrop::JCrop()() 

而不是JCrop()

当然,包名是假设的,您必须检查包含定义的类的正确位置。

这个标志是必要的。jcrop是包含定义的类,JCrop()是函数本身。

JCrop之后的第一个参数表示函数的参数类型,第二个参数提供传递参数的值。就像我说的,在你的案子里都是空的。

如果您感兴趣,可以阅读更多关于参数这里的内容

希望这能解决你的问题

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10602751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档