简体   繁体   English

单击时滚动到 Kendo Grid 行 - 出现意外的 JavaScript 错误

[英]Scroll to Kendo Grid row on click - Getting an unexpected JavaScript error

So I made a change event for my Kendo Grid so it will scroll to the selected row when selected.因此,我为我的 Kendo Grid 设置了一个更改事件,以便在选择时滚动到选定的行。 Everything is great, except, I'm getting a JavaScript error.一切都很好,除了我收到 JavaScript 错误。

Uncaught TypeError: Cannot read property 'top' of undefined

Here's the JavaScript code that's making this happen.这是实现这一点的 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();
    }

I don't get it.我不明白。 Everything works fine.一切正常。 Can I just suppress the JavaScript error or how do you think I should handle this?我可以压制 JavaScript 错误或者你认为我应该如何处理这个错误?

Thanks!谢谢!

I found my issue.我发现了我的问题。

Calling grid.clearSelection() was causing another hit to the onGridChange() event.调用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();
        }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM