在加载jquery不工作
嗨我有jqgrid在resize时触发一个函数,以便根据窗口大小resize。 这个函数很好,但是当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');
它工作正常。 我在这里做错了什么。
只有在创建网格后才能调用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/
我总是使用“DOMContentLoaded”事件,它的工作就像一个魅力。
请试试:
element.addEventListener("DOMContentLoaded", function(event) { //Element loaded });