javascript - free-JqGrid:resizeStart 事件不起作用?

标签 javascript jqgrid free-jqgrid

我尝试从旧版本的 jqGrid (4.6.0) 迁移到新版本 (4.9.1)。

我注意到 resizeStart 事件未触发,但 resizeStop 工作正常。这样可以吗?

我不确定,但看起来错误是在“反馈”函数的调用中

$bDiv = $(self.bDiv)

feedback.call(getGridComponent(COMPONENT_NAMES.BODY_TABLE, $bDiv), "resizeStart", x, i);

feedback = function () {
        // short form of $.jgrid.feedback to save usage this.p as the first parameter
        var args = $.makeArray(arguments);
        args.unshift("");
        args.unshift("");

        args.unshift(this.p); //this.p is undefined! this is dom table

        return jgrid.feedback.apply(this, args);
    };

最佳答案

感谢您报告该错误!线路

feedback.call(getGridComponent(COMPONENT_NAMES.BODY_TABLE, $bDiv), "resizeStart", x, i);

应固定为

feedback.call(getGridComponent(COMPONENT_NAMES.BODY_TABLE, $bDiv)[0], "resizeStart", x, i);

我发布了the fix到 GitHub。您应该重新加载免费 jqGrid 的最新源。

使用resizeStartresizeStop回调和jqGridResizeStartjqGridResizeStop事件可以使用以下代码:

$("#grid").jqGrid({
    ...
    resizeStart: function (e, iCol) {
        ...
    },
    resizeStop: function (newWidth, iCol) {
        ...
    }
}).bind("jqGridResizeStart", function (e, eOrg, iCol) {
    ...
}).bind("jqGridResizeStop", function (e, newWidth, iCol) {
    ...
});

因此可以使用回调或事件。一个网格只能注册一个回调,但可以多次绑定(bind) jQuery 事件( jqGridResizeStartjqGridResizeStop 等)。甚至可以在创建 jqGrid 之前进行绑定(bind)。空<table>应该已经存在了。

关于javascript - free-JqGrid:resizeStart 事件不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31803755/

相关文章:

javascript - 类型检查 React Children

jqGrid传呼机区域-使用 Font Awesome 图标

带有本地数据的 jqGrid filterToolbar

javascript - 为什么这段代码有两个不同的结果?

javascript - JS : Promise resolver is not a function

javascript - 免费jqGrid-行未输入编辑

jquery - JqG​​rid 未填充数据

javascript - 免费 jqGrid : Field undefined error when extending postdata with local data

javascript - 如何通过内联编辑从 jqGrid 列中获取 Select 的文本

javascript - 如何使用 forEach() 定义文件路径集合