ExtJS网格面板上的滚动事件?

时间:2017-04-13 02:20:24

标签: javascript extjs scroll javascript-events

我在ExtJS中有一个带滚动条的网格面板。我试图检测用户何时完全向下滚动(这样他们就不能再移动吧)。到目前为止,我有这个,它检测滚动发生的时间,但没有提供关于滚动条位置的信息(?)。

//bufferedGrid is a grid panel
this.randomGrid.getView().on('scroll', this.onRandomGridScroll, this);
.
.
.
onRandomGridScroll : function(e, t)
{
    console.log(e);
    console.log(t);

}

任何指针都将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:0)

您可以访问当前滚动条位置(实际上是滚动条的顶部)和最大滚动位置,如下所示(适用于Firefox但不适用于Chrome ):

onBufferedGridScroll : function(e, t)
    {
        var max = this.bufferedGrid.getView().el.dom.scrollTopMax;
        var current = this.bufferedGrid.getView().el.dom.scrollTop;
        if( current == max )
            alert('You have reached the bottom of the scroll !');
    }

答案 1 :(得分:0)

在init上添加事件 呈现网格后,添加鼠标事件和向下滚动事件。

'container #gridId':{ afterrender: this.addScrollEventListener }

addScrollEventListener: function(comp){
    comp.getTargetEl().on('mouseup', function(e, t) {
        var height = comp.getTargetEl().getHeight();
        if (height + t.scrollTop >= t.scrollHeight) {

        }
    });
    comp.getTargetEl().on('wheeldown', function(e, t) {
        var height = comp.getTargetEl().getHeight();
        if (height + t.scrollTop >= t.scrollHeight) {

        }
    });
}