【问题标题】:How to make JQGrid scroll properly in IE6?如何让 JQGrid 在 IE6 中正确滚动?
【发布时间】:2010-08-12 17:15:47
【问题描述】:

我有一个需要滚动的 JQGrid。它在 Firefox 中运行良好,但在 IE6 中,网格保持静止,而其余内容在其下方滚动。

一个复杂的因素可能是网格在选项卡内,在对话框内。

我到处搜索,但找不到解决这个问题的方法,所以我求助于 Stackoverflow。这里有人知道什么可能导致这种行为吗?

我正在使用 jqgrid 3.5.3,如果有的话。

【问题讨论】:

  • 这无疑是由于您的容器/选项卡/对话框,如果您使用该信息和标记进行更新,它会有所帮助。

标签: jquery jquery-ui internet-explorer-6 jqgrid


【解决方案1】:

我在 IE6 上遇到了同样的问题。我花了一段时间来修复,但这是我的解决方案,我希望它适用于其他人。

您需要将 2 个项目添加到 JQGrid 上的寻呼机部分,您可以在其中定义添加、编辑、删除等属性。

  1. scroll: 1 - 这告诉对话框滚动
  2. afterShowForm: function(form) { form.css("height", "300px"); } - 这修复了 IE6 的一些绘制问题,该问题再次强制对话框滚动。

如果您希望对话框滚动并从该部分中删除任何现有的高度属性,则需要同时使用这两个属性。您不必创建 form.css 文件,至少我没有,它可以按原样工作。

        { add: false, edit: true, del: false, refresh: true, search: true }, //general options
        {
        //Options for the Edit Dialog
            editCaption: 'Edit Data',
        width: 500,
        modal: true,
        scroll: 1,
        closeAfterEdit: true,
        onclickSubmit: function(eparams) {
            var sr = jQuery("#MyGridTbl").getGridParam('selrow');
            var currentRow = jQuery("#MyGridTbl").getRowData(sr);
            return { Id: currentRow.Id };
        },
        afterShowForm: function(form) { form.css("height", "300px"); } 
    },
        {
        },
        {
        },
        {} //Search options
    );

【讨论】:

    【解决方案2】:

    我也遇到过类似的问题。我的网格在一个 div 里面。这个 div 有垂直滚动条。我的问题是,当我滚动 div 时,网格保持静态。我花了一些时间才弄清楚是 div 定位破坏了网格位置。将 div 的位置更改为相对位置,并按应有的方式滚动。 无论如何,我只是想分享,因为我发现这个论坛非常(!)有用。

    谢谢, 托马斯

    【讨论】:

      【解决方案3】:

      为什么要为 2001 年发布的浏览器(9 岁!)内置功能,甚至不再得到其创建者的支持?我知道他们直到 2014 年才正式“支持”IE 6,但由于缺乏对网络标准和新技术的支持,我建议您的项目访问者升级他们的系统。 (因为除了缺乏对现代网络糖果的支持之外,它只是一个有缺陷且不安全的浏览器)

      【讨论】:

      • 嘿,这也是我的建议,但这不是我的决定。显然在某处涉及到一个后勤噩梦,它只需要在 IE6 中工作,不管它多么糟糕。
      猜你喜欢
      • 2010-12-04
      • 1970-01-01
      • 1970-01-01
      • 2015-05-10
      • 2012-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-15
      相关资源
      最近更新 更多