初始加载时无法设置表高度

时间:2013-01-09 20:41:44

标签: javascript jquery kendo-ui kendo-treeview

我正在使用Kendo标签和加载树视图(在表格内)。

我根据窗口大小设置保存树的表的高度,当窗口调整大小时一切正常但是由于某种原因我无法设置表的高度在我的申请的初始加载期间。我正在调用在准备好调整窗口大小时调用的相同函数,

 $(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);
    });

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

使用kendo树的数据绑定事件。

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