0

みんな、私は私のプロジェクトで素晴らしい jQgrid を使用しましたが、Chrome で列をドラッグしてサイズを変更する際に 1 つの問題が見つかりました (バージョン 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;//これはクロムで一時的に修正できます

         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 に答える