jQuery MiniUI

标题: 在ie8下load()怎么不立即执行 [打印本页]

作者: Misul    时间: 2015-5-12 11:49:30     标题: 在ie8下load()怎么不立即执行

var grid = mini.get('tempApplyDataBox');
grid.hideColumn(\"pkgpath\");
grid.load();//如果在这里之前加alert(),是可以弹出来的

我自己的电脑是win8,ie11是没问题的,但是在别人的电脑上是xp系统,ie8就会有问题,grid.load();不会立即加载数据,而是去切换一下别的窗口,或者是将ie8的窗口最小化再还原就会加载出来数据。
如图:
[attach]6127[/attach]
然后窗口最小化再还原后就会出来数据,如图:
[attach]6128[/attach]


作者: dforce    时间: 2015-5-12 12:09:44

本地xp ie8测试可以正常显示
请提供一下你的页面,回复高级模式可以上传文件
作者: Misul    时间: 2015-5-12 13:39:01

dforce 发表于 2015-5-12 12:09
本地xp ie8测试可以正常显示
请提供一下你的页面,回复高级模式可以上传文件 ...

页面不好给你啊[attach]6129[/attach]
是写成这个模样的,是别人写的,我查bug查到这里了

作者: Misul    时间: 2015-5-12 13:56:05

我如果是把load加到setTimeout里面,就像这样
mini.parse();
var grid = mini.get('tempApplyDataBox');
grid.hideColumn(\"pkgpath\");
setTimeout(function(){alert(11);grid.load();},1000);

setTimeout就会不立即执行了,也是在切换窗口后才会执行,是ie8有啥机制给拦截了还是怎么的?不切换的话我试了一下放在那里不动10分钟会去执行load去访问后台拿数据

那个div是这样写的

<div id='tempApplyDataBox' class='mini-datagrid'  style='width:100%;height:90%;margin:0px;padding:0px;' url='"+url+"?content.method=getApplyDataList' pageSize='20'  allowRowSelect='true' showTotalCount='true' allowCellSelect='true' multiSelect='true' allowResize='false' idField='id' >
作者: dforce    时间: 2015-5-12 14:03:00

Misul 发表于 2015-5-12 13:56
我如果是把load加到setTimeout里面,就像这样
mini.parse();
var grid = mini.get('tempApplyDataBox');

用你那边的ie8,测试我们表格的在线示例
http://www.miniui.com/demo/#src=datagrid/datagrid.html
加载代码和你贴的代码唯一不同的就是你用了hideColumn,这个和加载没啥关系
你那边把这行代码注释掉有没有问题
作者: Misul    时间: 2015-5-12 14:31:58

dforce 发表于 2015-5-12 14:03
用你那边的ie8,测试我们表格的在线示例
http://www.miniui.com/demo/#src=datagrid/datagrid.html
加载 ...

我这里用ie8打开你们的demo是没问题的,注掉那段代码也还是一样的效果
作者: dforce    时间: 2015-5-12 14:59:55

Misul 发表于 2015-5-12 14:31
我这里用ie8打开你们的demo是没问题的,注掉那段代码也还是一样的效果

那看来就是你那边的问题,看你的js代码怎么好像都是后台输出的




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2