【问题标题】:Scroll to Kendo Grid row on click - Getting an unexpected JavaScript error单击时滚动到 Kendo Grid 行 - 出现意外的 JavaScript 错误
【发布时间】:2021-04-05 13:20:55
【问题描述】:

所以我为我的 Kendo Grid 设置了一个更改事件,以便在选择时滚动到选定的行。一切都很好,除了我遇到了一个 JavaScript 错误。

Uncaught TypeError: Cannot read property 'top' of undefined

这是实现这一点的 JavaScript 代码。

    function onGridChange(e) {
        var scrollContentOffset = this.element.find("tbody").offset().top;
        var selectContentOffset = this.select().offset().top;
        var distance = selectContentOffset - scrollContentOffset;

        //    animate our scroll
        this.element.find(".k-grid-content").animate({
            scrollTop: distance
        }, 400);

        var grid = $("#kendo-grid").data("kendoGrid");
        grid.clearSelection();
    }

我不明白。一切正常。我可以直接取消 JavaScript 错误吗?或者您认为我应该如何处理?

谢谢!

【问题讨论】:

  • 你不能真的压制它。检查this.element.find("tbody").offset()this.select().offset() 的值是什么。
  • 谢谢。经过一番挖掘,我发现我的问题是由grid.clearSelection();引起的

标签: javascript jquery error-handling kendo-ui kendo-grid


【解决方案1】:

我发现了我的问题。

调用grid.clearSelection() 导致onGridChange() 事件再次受到打击。

function onGridChange(e) {
    if (this.select().length > 0) {
            var scrollContentOffset = this.element.find("tbody").offset().top;
            var selectContentOffset = this.select().offset().top;
            var distance = selectContentOffset - scrollContentOffset;

            //    animate our scroll
            this.element.find(".k-grid-content").animate({
                scrollTop: distance
            }, 400);

            var grid = $("#kendo-grid").data("kendoGrid");
            grid.clearSelection();
        }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-12
    • 1970-01-01
    • 2019-11-17
    • 1970-01-01
    • 2013-07-06
    • 2020-04-16
    相关资源
    最近更新 更多