日期:2014-05-16  浏览次数:20398 次

Jquery easyui界面单击过快js错误之临时解决方案

在使用jquery easyui的做系统应用的时候,如果界面单击操作过快的话,总会出现js错误。原因应该是ajax请求未完成,相关操作未执行,多次单击使得界面上有很多的组件初始化未完成就结束了操作。

??? 下面提供一种临时解决方案:

???? html代码:

?????????? <div id="overlay" class="overlay" style="display: none; z-index: 9998; filter: alpha(opacity=5); left: 0; width: 100%; position: fixed; _position: absolute; top: 0; height: 100%; background-color: #000; moz-opacity: 0.05; opacity: 0.05;"></div>

?????jquery 代码:

???? $(function(){
?????? $(".head_t .head_t_msg").ajaxStart(function(){
????? //显示遮罩层
????? $("#overlay").show();
??? });
??? $(".head_t .head_t_msg").ajaxStop(function(event,request, settings){
?????? //隐藏遮罩层
?????? setTimeout(function(){
??????? $("#overlay").hide();
?????? },500);
??? });
??????? });

将这段代码放到首页即可。

??? 执行原理:

??????? 当页面执行ajax请求的时候,在首页上面出现一个遮罩层,所有请求执行完毕后,取消遮罩层;

??????