easyui IE出现'Rowspan'为空或不是对象

在使用JQuery EasyUI (1.4.2) 的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中未出现上述错误。

 

上一篇:day6


下一篇:Vue.js - day6