1

我尝试从旧版本的 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);
    };
4

1 回答 1

1

感谢您报告错误!线

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

应固定为

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

将修复程序发布到 GitHub。您应该重新加载免费 jqGrid 的最新资源。

要使用resizeStartresizeStop回调和jqGridResizeStart事件jqGridResizeStop,可以使用以下代码:

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

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

于 2015-08-04T09:24:39.133 回答