我尝试从旧版本的 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 的最新源。
使用resizeStart
和resizeStop
回调和jqGridResizeStart
和jqGridResizeStop
事件可以使用以下代码:
$("#grid").jqGrid({
...
resizeStart: function (e, iCol) {
...
},
resizeStop: function (newWidth, iCol) {
...
}
}).bind("jqGridResizeStart", function (e, eOrg, iCol) {
...
}).bind("jqGridResizeStop", function (e, newWidth, iCol) {
...
});
因此可以使用回调或事件。一个网格只能注册一个回调,但可以多次绑定(bind) jQuery 事件( jqGridResizeStart
、 jqGridResizeStop
等)。甚至可以在创建 jqGrid 之前进行绑定(bind)。空<table>
应该已经存在了。
关于javascript - free-JqGrid:resizeStart 事件不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31803755/