javascript - 使 jqGrid 在 Web 浏览器上响应的方法

标签 javascript jquery html css jqgrid

我是 jqGrid 的新手,我需要在调整 Web 浏览器窗口大小时调整网格大小。我在网格中应用了 autowidth : true; , shr​​inkToFit: true; 但这不起作用。

CSS width : 100% 的设置是唯一的一种实现方式,但在 jqGrid 的情况下并不好
它在许多内部结构上显式地在 px 中设置了 width

什么是解决它的完美方法?

最佳答案

jqGrid 使用固定的 width许多内部结构(div、表等)的值。所以不能只设置 CSS width : 100% .尽管如此,还有另一种方法可以做到这一点。一个可以注册resize window 上的事件处理程序反对并调用 setGridWidth明确地。该方法将 jqGrid 的所有内部结构调整为新的宽度。所以这将是干净的方法。

如果您使用 autowidth: true然后 jqGrid 将 jqGrid 的宽度设置为其父级的宽度一次。 $(window).resize 内部处理程序,我们可以获得父级的(当前)宽度并重置网格的值 width .对应的代码如下

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

我用了$("#list").closest(".ui-jqgrid")而不是 $("#list")因为 jqGrid 构建了一些 over<table>元素。 $("#list").closest(".ui-jqgrid")给出包含网格所有元素的外部 div。

The modified fiddle demo现场演示代码。

关于javascript - 使 jqGrid 在 Web 浏览器上响应的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25035296/

相关文章:

javascript - 更改js弹出名称

JavaScript - 如何查找字符串中正则表达式的所有实例?

java - 如何使用 JavaScript 处理 Java 对象序列化?

javascript - 如何检查 div 是否距离顶部 100 像素并向其添加类?

jquery - 对 ASP.NET MVC 4 中整个 View 模型进行不显眼的验证

Javascript 仅适用于 alert();

php - WordPress,为 Roots 主题寻找 css

javascript - 将 from_date 和 to_date 拆分为日期范围数组列表

javascript - 如何让 onclick 函数更改另一个 onclick 函数的属性?

jquery - 如何将箭头切换为灰色以增强我的旋转木马 UI 体验?