因此,我为我的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错误吗?或者您认为我应该如何处理它?
谢谢!
发布于 2020-12-28 21:04:22
我找到我的问题了。
调用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();
}
}
https://stackoverflow.com/questions/65483225
复制