嗨我有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');
它工作正常。我在这里做错了什么。
答案 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
});
答案 1 :(得分:0)
我总是使用“DOMContentLoaded”事件,它就像一个魅力。
请尝试:
element.addEventListener("DOMContentLoaded", function(event) {
//Element loaded
});