jquery – Datatables – 仅在IE9中滚动问题

前端之家收集整理的这篇文章主要介绍了jquery – Datatables – 仅在IE9中滚动问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Datatables没有正确使用其x轴滚动的问题.

我以前遇到过IE9’鬼细胞’问题,我能够解决这个问题.但是,现在我遇到的问题是我的overflow-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
    });

这就是我面临的问题:

它虽然在IE9兼容模式下工作.不幸的是,页面的其他部分不允许我运行这是一个较低版本的兼容性,但这显然标志着它只是一个IE9问题. Chrome,Safari,Opera,Firefox都没有问题.

由于其庞大的尺寸(在某些情况下为2000 td字段),我不打算在这里发布表格.它是一个完美有效的HTML表格,带有thead / tbody,并且标签之间的所有空格都被删除了(这就是修复我之前的ghost单元格问题).

任何人都有数据表的经验,并知道这个问题的根本原因?

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

更新

我忘了提到以下部分:

该表曾经正确显示;但是由于IE9在大表中的ghost单元格问题,我被迫清除了table / thead / tbody / tr / td标签之间的所有空格.
我通过在我的aplication的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");

如果我注释掉RegEx替换,数据表的溢出工作完美,但我面临鬼影问题导致错位和全面丑陋.
取消注释后,所有单元格都完全对齐,但溢出停止工作.

就像我说的那样,这个问题只适用于IE9.所有其他浏览器(包括兼容模式下的IE9)都会在注释/未注释状态下完美呈现表.

解决方法

经过大量的搜索和耐心,我设法解决了这个问题.

问题是Bootstrap相关.好吧,不是Bootstrap,但是Bootstrap.css做的是添加最大宽度:100%;到每张桌子.这对于一般布局来说非常棒,但显然IE9无法将其与可滚动的overflow-x设置相结合. IE9并不像我的经验那样真正喜欢最大和最小高度和宽度.

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

猜你在找的jQuery相关文章