如何为jQuery编写JSNI

时间:2017-10-19 09:36:13

标签: gwt jsni

我必须检查用户是否击中了滚动的底部。

JavaScript代码是:

$(window).scroll(function() {
    if ($(window).scrollTop() + $(window).height() == $(document).height()) {
        alert("bottom!");
    }
});

`enter code here` // How to write this code in JSNI in GWT? I tried but got no result.

我在JSNI中编写了上面的代码如下:

/*-{
    $wnd.$(window).scroll(function() {
        console.log("WS"+$wnd.$(window).scrollTop());
        $wnd.alert("hi");
    });
}-*/;

3 个答案:

答案 0 :(得分:1)

我认为这可以在普通的GWT中实现,而不需要本机代码或jquery。

一些可能有用的方法

  • Window.addWindowScrollHandler
  • Window.getScrollTop
  • Window.getClientHeight
  • Document.get()。getClientHeight()

答案 1 :(得分:1)

您还需要将window的所有用途替换为$wnd

但我同意Knarf和El Hoss的观点,你现在应该避免使用JSNI来防范未来。要么使用GWT已经提供的,要么使用元素2,或者可能使用jQuery通过JsInterop而不是JSNI。

答案 2 :(得分:0)

你也可以使用GWT jquery包装器:https://github.com/gwtquery/gwtquery