jquery - 数据表 - 仅在 IE9 中出现滚动问题

标签 jquery datatables

我遇到数据表未正确使用其 x 轴滚动的问题。

我之前遇到过 IE9“幽灵单元”问题,我能够解决该问题。但是,现在我遇到了一个问题,即显示了溢出-x,而不是隐藏它并使窗口可滚动。

我的数据表初始化:

 var oTable = $('#tableBP').dataTable({
        "bJQueryUI": true,
        "sScrollX": "100%",
        "sScrollXInner": "200%",
        "sScrollY": 300,
        "bScrollCollapse": false,
        "bFilter": true,
        "bSort": false,
        "bInfo": false,
        "bPaginate": false
    });

    //This is a Datatables plugin. The issue occurs whether I comment this part or not.
    new FixedColumns(oTable, { 
        "iLeftWidth": 225
    });

这就是我面临的情况:overflowX not working like it should

不过它可以在 IE9 兼容模式下工作。不幸的是,页面的其他部分不允许我运行,这是较低版本的兼容性,但这清楚地将其标记为仅 IE9 的问题。在 Chrome、Safari、Opera、Firefox 中没有问题。

由于该表的大小(在某些情况下有 2000 多个 td 字段),我不会在此处发布该表。这是一个完全有效的 HTML 表格,带有 thead/tbody,并且标签之间的所有空格都已被删除(这就是解决我之前的幽灵单元问题的原因)。

有人有数据表方面的经验并知道此问题的根本原因吗?

PS:这是一个 MVC2 应用程序 (C#.Net),但此问题似乎与生成此网页的应用程序无关。

更新

我忘了提及以下部分:

表格曾经正确显示;但由于 IE9 在大型表格中存在幽灵单元问题,我被迫清除 table/thead/tbody/tr/td 标签之间的所有空白。 我通过在应用程序的 HTML 输出上强制执行正则表达式替换来解决此问题:

// response is the string with my HTML output which will be written to the browser after this:

string expression = @">[ \t\r\n\v\f]*<td"; 
response = Regex.Replace(response, expression, @"> <td");

如果我注释掉正则表达式替换,数据表的溢出工作正常,但我面临着幽灵单元问题,这会导致错位和全面的丑陋。 取消注释后,所有单元格都完美对齐,但溢出停止工作。

正如我所说,该问题仅与 IE9 有关。所有其他浏览器(包括兼容模式下的 IE9)都能在注释/未注释状态下完美呈现表格。

最佳答案

经过大量搜索和耐心等待,我已经成功解决了这个问题。

该问题与 Bootstrap 相关。好吧,确切地说不是 Bootstrap,但 Bootstrap.css 所做的是向每个表格添加 max-width: 100%;。这对于一般布局来说非常有用,但显然 IE9 无法将其与可滚动的 overflow-x 设置结合起来。根据我的经验,IE9 并不真正喜欢最大和最小高度和宽度。

但我仍然要感谢你们所有人的努力,你们让我走上了正确的道路,找到了这个问题的根本原因!

关于jquery - 数据表 - 仅在 IE9 中出现滚动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12391170/

相关文章:

Rstudio Shiny 选择数据表中的行?

jquery - 在 Turbolinks 存在的情况下导航回来时,如何防止 jQuery DataTable 上出现重复的包装器?

javascript - 如何动态更新 JavaScript 数组

jquery - 在下拉列表中搜索搜索所有下拉选项而不是选定的选项

jquery - 如何删除 dataTable Jquery 插件中的 "PRINT"按钮?

javascript - 如何比较元素的 margin-left 与负值

javascript - 如何复制数据表pdf文档所有页面中的消息

javascript - 使用 razor asp.net mvc 时获取正确的复选框值

javascript - 每个动态生成元素仅单击一次

jquery - 将 Jquery Raty 插件与文本正确对齐