dojo IE 中的“对象不支持此操作”
Posted
技术标签:
【中文标题】dojo IE 中的“对象不支持此操作”【英文标题】:dojo "Object does not support this action " in IE 【发布时间】:2012-03-28 15:34:00 【问题描述】:我在 IE 中使用 Dojo EnhancedGrid 遇到了一个奇怪的问题。
我使用 AJAX 从服务器获取的网格数据,然后在 load() 方法中我试图遍历网格中的所有元素。在这里,事情在 IE 中变得疯狂。这是尝试获取元素的方法:
var grid = dijit.byId(prefix + "mySuperGrid");
for (var i = 0 , l = grid.getTotalRowCount(); i < l; i++)
item = grid.getItem(i);
在第一次迭代中我得到 p>
对象不支持此操作
在 FireFox 中,同样的代码可以完美运行。
【问题讨论】:
请问为什么在加载网格后要遍历所有项目?我问的原因是因为这样做很昂贵。通常,数据存储上的格式函数或 onItem() 是对项目进行自定义处理的地方 我浏览所有元素的原因是我有一个需要在桌子上点亮的项目,我正在努力寻找它。在加载网格之前获得的项目,所以之后我需要遍历网格中的所有项目并找到应该选择的行。 【参考方案1】:好的,我找到了坏人。问题是 IE 需要 var
关键字在变量名之前,而 firefox 不需要。所以代码应该是:
var grid = dijit.byId(prefix + "mySuperGrid");
for (var i = 0 , l = grid.getTotalRowCount(); i < l; i++)
var item = grid.getItem(i);
【讨论】:
以上是关于dojo IE 中的“对象不支持此操作”的主要内容,如果未能解决你的问题,请参考以下文章
element-ui ie浏览器报错Error in v-on handler: “TypeError: 对象不支持此操作“
Chrome 中的 dispatchEvent,但 IE11 中没有
Google地图无法使用IE11(sharepoint 2010)
dojo dgrid 或 slick Grid 中的批量更新支持不可用