大家,我在我的项目中使用了很棒的 jQgrid,发现在 Chrome(版本 25.0.1337.0)中拖动列调整大小时出现了一个问题,就像我试图调整列大小时拖动线偏离标题行一样,下面是截图
红线是拖线,蓝线是标题栏,更奇怪的是当我将鼠标移动到正好是蓝色栏的拖动位置开始拖动时,鼠标图标应该像() 在 Chrome 中消失。
但它在 Firefox 和 IE 中表现很酷,这是屏幕截图(在 Firefox 中)
如何在 Chrome 中解决此问题?我的 jqgrid 版本是 4.4.4
我找到了一个不优雅的解决方案,但在 IE8、Chrome v25、firefox v3.6 中表现我想要的,这可能只是一个粗略的修复!在 getOffset 方法中
getOffset = function (iCol) {
var i, ret = [0], brd1 = $.jgrid.cell_width ? 0 : ts.p.cellLayout;
if(/chrome/i.test(navigator.userAgent)) brd1 = 5;//这可以在chrome中临时修复
for(i=0;i<=iCol;i++){
if(ts.p.colModel[i].hidden === false ) {
ret[0] += ts.p.colModel[i].width+brd1;
}
}
if(ts.p.direction=="rtl") { ret[0] = ts.p.width - ret[0]; }
ret[0] -= ts.grid.bDiv.scrollLeft;
ret.push($(ts.grid.hDiv).position().top);
ret.push($(ts.grid.bDiv).offset().top - $(ts.grid.hDiv).offset().top + $(ts.grid.bDiv).height());
return ret;
}
如您所见,我明确分配 brd1 = 5..因为在 chrome $.jqgrid.cell_width 中返回 true,而在 firefox/IE 中返回 false