在加载jquery不工作

时间:2017-04-13 11:55:22

标签: javascript jquery jqgrid

嗨我有jqgrid在调整大小时会触发一个函数,以便根据窗口大小调整大小。这个函数很好但是我需要在jqgrid加载时使用相同的函数 所以我正在调用这个函数

$(window).bind("load", function() {
     $('#' + grid_id).setGridWidth(width, true); //Back to original width
    $('#' + grid_id).setGridWidth($('#' + div_id).width(), true); //Resized to new width as per window
    });

但它没有用。

当像这样调整窗口大小时调用相同的函数

$(window).bind('resize', function () {
            $('#' + grid_id).setGridWidth(width, true); //Back to original width
            $('#' + grid_id).setGridWidth($('#' + div_id).width(), true); //Resized to new width as per window
        }).trigger('resize');

它工作正常。我在这里做错了什么。

2 个答案:

答案 0 :(得分:1)

您可以在创建网格后仅调用jqGrid的setGridWidth方法

我想你需要做的就是添加选项autowidth: true

如果您想实现自己的自定义大小调整,那么您可以在jqGridAfterLoadComplete事件内执行此操作。代码可以是以下内容:

var $grid = $("#grid"),
    resizeGrid = function () {
        var newWidth = $(this).closest(".ui-jqgrid").parent().width();
        $(this).jqGrid("setGridWidth", newWidth, true);
    };

$(window).on("resize", function() {
    resizeGrid.call($grid);
});

$grid.on("jqGridAfterLoadComplete", resizeGrid)
.jqGrid({
    // all jqGrid options
});

请参阅https://jsfiddle.net/OlegKi/ejpn9/153/

答案 1 :(得分:0)

我总是使用“DOMContentLoaded”事件,它就像一个魅力。

请尝试:

 element.addEventListener("DOMContentLoaded", function(event) {
    //Element loaded
  });