负载 jquery 不工作
On load jquery not working
您好,我有 jqgrid,它在调整大小时触发一个函数,以便它根据 window 大小调整大小。这个功能很好,但我需要相同的功能才能在 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 像这样调整大小时会调用相同的函数
$(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');
而且效果很好。我这是怎么了。
我一直使用 "DOMContentLoaded" 活动,它非常有效。
请尝试:
element.addEventListener("DOMContentLoaded", function(event) {
//Element loaded
});
您只能在 创建网格后 调用 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
});
您好,我有 jqgrid,它在调整大小时触发一个函数,以便它根据 window 大小调整大小。这个功能很好,但我需要相同的功能才能在 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 像这样调整大小时会调用相同的函数
$(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');
而且效果很好。我这是怎么了。
我一直使用 "DOMContentLoaded" 活动,它非常有效。
请尝试:
element.addEventListener("DOMContentLoaded", function(event) {
//Element loaded
});
您只能在 创建网格后 调用 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
});