0

大家,我在我的项目中使用了很棒的 jQgrid,发现在 Chrome(版本 25.0.1337.0)中拖动列调整大小时出现了一个问题,就像我试图调整列大小时拖动线偏离标题行一样,下面是截图 在此处输入图像描述

红线是拖线,蓝线是标题栏,更奇怪的是当我将鼠标移动到正好是蓝色栏的拖动位置开始拖动时,鼠标图标应该像(在此处输入图像描述) 在 Chrome 中消失。

但它在 Firefox 和 IE 中表现很酷,这是屏幕截图(在 Firefox 中) 在此处输入图像描述

如何在 Chrome 中解决此问题?我的 jqgrid 版本是 4.4.4

4

1 回答 1

0

我找到了一个不优雅的解决方案,但在 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

于 2013-02-01T03:50:30.277 回答