JQuery EasyUI IE浏览器出现‘Rowspan’ 为空或不是对象

来源:互联网 发布:java synchronized 块 编辑:程序博客网 时间:2024/05/17 03:26

环境:

EasyUI 1.4.2.

现象:

在使用JQuery EasyUI 的datagrid控件时,使用动态指定columns的方式,相关代码如下:

$("#topApList").datagrid({columns:[[
{field:'aaa',title: 'aaa',align: 'center',width: 130},  
{field:'bbb',title: 'bbb',align: 'center',width: 100},
]]
});


在IE8浏览器中打开该页面时出现错误:‘Rowspan’ 为空或不是对象,‘Colspan’ 为空或不是对象。

在Firefox, Safari, Chrome浏览器中没有报错,页面正常显示。

分析代码:

jquery.easyui.mini.js代码,高亮部分为出现空指针异常的地方:

for (var j = 0; j < cols.length; j++) {
var col = cols[j];
var attr = "";
if (col.rowspan) {
attr += "rowspan=\"" + col.rowspan + "\" ";
}
if (col.colspan) {
attr += "colspan=\"" + col.colspan + "\" ";
}


原因:

在最后一个field后面,出现一个逗号,导致浏览器计算出来的cols.length为3(其实际值为2),当访问cols[2]时出现空指针异常。

解决方案:

将最后一个field后的逗号去掉即可。

效果:

IE中未出现上述错误。


0 0
原创粉丝点击