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

时间:2015-08-04 07:59:18

标签: 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);
    };

1 个答案:

答案 0 :(得分:1)

感谢您报告错误!这条线

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) {
    ...
});

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