Javascript 设置超时的替代方案?

Javascript 设置超时的替代方案?,javascript,jquery,settimeout,sapui5,Javascript,Jquery,Settimeout,Sapui5,我有一个sapui5表格,我调用了表格滚动条上的滚动函数。它仅在我使用setTimeout时有效。我假设这是因为表中的数据在实际加载表之后稍微加载 以下是我的代码: setTimeout(function () { var lastScroll = 0; $("#__xmlview0--players-vsb-sb").scroll(function () { var st = $(this).scrollTop(); if (st > la

我有一个sapui5表格,我调用了表格滚动条上的滚动函数。它仅在我使用
setTimeout
时有效。我假设这是因为表中的数据在实际加载表之后稍微加载

以下是我的代码:

setTimeout(function () {
    var lastScroll = 0;
    $("#__xmlview0--players-vsb-sb").scroll(function () {
        var st = $(this).scrollTop();
        if (st > lastScroll) {
            console.log("scrolling down");
        } else {
           console.log("scrolling up");
        }
        lastScroll = st;
    });
}, 900);
我曾尝试使用
onAfterRendering
函数作为替代方法,但无法实现。有人知道设置超时的替代方法吗


这是我的。

如果这是一个sap.m.Table,您可以使用sap.m.ListBase中的updateFinished事件,请参见:


“允许先加载表”是什么意思?是指页面加载吗?如果是这样,那么你应该使用$(文档)。准备好(……代替(或类似)。这可能不是你在这里引起的问题,而是要考虑的问题。第二个JSbin似乎在工作。fine@nurdyguy我尝试了
$(文档).ready
它不工作。@leo.fcx它确实工作得很好。唯一的问题是,当我使用我正在测试它的鼠标滚轮时,它不工作,为什么我不知道。为什么它不能与鼠标滚轮正常工作?页面上是否有其他DOM操作发生?如果您的内容加载dinamical,document ready将不工作ly.您应该向加载表数据的函数添加回调,当x完成时,欢迎使用堆栈溢出!请解释您的代码的作用以及它解决问题的原因。仅包含代码(即使它工作)的答案通常不会帮助OP了解其问题。
updateFinished(oControlEvent)
This event is called after items binding and afterwards related DOM is updated.
Parameters:
{sap.ui.base.Event} oControlEvent
{sap.ui.base.EventProvider} oControlEvent.getSource
{object}    oControlEvent.getParameters
{string}    oControlEvent.getParameters.reason  The reason of update. Possible values are "Binding", "Filter", "Sort", "Growing", "Change", "Refresh", "Context"
{int}   oControlEvent.getParameters.actual  Actual number of items.
{int}   oControlEvent.getParameters.total   The total count of bound items. This parameter can be used if "growing" feature is enabled.
Since:
1.16.3