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

83453065 2012-03-14

在使用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请求的时候,在首页上面出现一个遮罩层,所有请求执行完毕后,取消遮罩层;

      

相关推荐