JavaScript jScrollPane 未正确初始化,未完全显示在 DOM 树中

JavaScript jScrollPane not initializing correctly, not showing up in DOM tree fully

我正在尝试在 jQuery 小部件中初始化 jScrollPane。主要是因为我需要为 Firefox 设置滚动条的样式。问题是它没有正确初始化。

该代码与我们使用的另一个小部件中的代码完全相同。在那里一切正常。问题是,当您检查页面时,DOM 树包含 jspContainerjspPane 元素。但是,scrollable-snoozetimes-list 不包含 class jspScrollable 并且 div jspVerticalBar 完全缺失。

_renderOverview: function(snoozeTimes) {
    var snoozeTimesList = this.element.find('.scrollable-snoozetimes-list');
    snoozeTimesList.jScrollPane();

    var contentPane = this._getContentPane().empty();

    for (var i = 0; i < snoozeTimes.length; ++i) {
        contentPane.append($.tmpl('snoozeTimeMarkup', snoozeTimes[i])[0].outerHTML);
    }

    this._adjustJScrollPaneHeight(snoozeTimes.length);
    var jScrollPane = snoozeTimesList.jScrollPane().data('jsp');
    jScrollPane.reinitialise();
}

_getContentPane: function () {
    var resultContainer = this.element.find('.scrollable-snoozetimes-list');
    var jScrollPane = resultContainer.data('jsp');
    return jScrollPane.getContentPane();
}

知道我在这里遗漏了什么吗?

此代码附加 jScrollPane 的 html 必须可见。

在某些情况下,您可以将小部件附加到模板,而无需呈现它们。对于这个特定版本的 jScrollPane,您必须在呈现 html 并使其可见后执行此操作。这就是窗格的 dom 树仅部分生成的原因。