0

我正在使用 Kendo tabstrip 并加载树视图(在表格内)。

我正在根据窗口大小设置包含树的表格的高度,调整窗口大小时一切正常,由于某种原因,我无法在应用程序的初始加载期间设置表格的高度。我正在调用准备好调整窗口大小时调用的相同函数,

 $(document).ready(function()

setTimeout(function() { update_size(); }, 250);
.....

但即便如此,表格在初始加载期间也没有正确调整大小(尤其是在某些屏幕分辨率下 - 例如:1280 * 1024),但是当我调整屏幕大小时,表格大小正确......

    var update_size = function() {
        var height = $(this).height() - ($("#vertical").height()+30);
        $('#dictionaryTree').height(height-120);
        $('#groupTree').height(height-120);

    }
    $(window).resize(function() {
        clearTimeout(window.refresh_size);
        window.refresh_size = setTimeout(function() { update_size(); }, 250);
    });
4

2 回答 2

1

这经常发生,因为当您尝试设置元素的大小时,元素仍未呈现,然后 KendoUI 进入以显示元素并重新计算大小。

当您调整窗口大小时,元素已经渲染,然后就没有问题了。

在加载页面内容并调用 KendoUI 小部件初始化后(例如,在dataBound事件中)尝试调整大小。

于 2013-01-09T21:34:05.377 回答
1

使用剑道树的数据绑定事件。

如果您只依赖于一个神奇的设置超时功能,您永远无法 100% 确定页面中存在树视图。

于 2013-01-09T21:40:16.137 回答