关于jquery的load方法在ie7下面不能很好达到预想中问题的解决办法。

前些时候,测试项目发现了一个奇葩的问题,我自己写的一个js方法

function showAlarmInfomation(flag){
            $("#deviceAlarmInfo").load("deviceAlarmInfo.jsp",function(){
                switch(flag){
                    case 'Warning':
                        if(patrn.exec($("#alarmWarningNum").html())==0){
                            alert("设备暂无警报日志");
                            $("#alarmWarningNum").click(function(){showAlarmInfomation('Warning');});
                            $("#alarmErrorNum").click(function(){showAlarmInfomation('Error');});
                        }else{
                            $("#hiddendevicealarmtype").val(flag);
                            $("#hiddendevicealarmdevicetype").val("StorageServer");
                            dealWithPopUpAlarmWindow(flag,patrn.exec($("#alarm"+flag+"Num").html()));
                        }
                        break;
                    case 'Error':
                        if(patrn.exec($("#alarmWarningNum").html())==0){
                            alert("设备暂无故障日志");
                            $("#alarmWarningNum").click(function(){showAlarmInfomation('Warning');});
                            $("#alarmErrorNum").click(function(){showAlarmInfomation('Error');});
                        }else{
                            $("#hiddendevicealarmtype").val(flag);
                            $("#hiddendevicealarmdevicetype").val("StorageServer");
                            dealWithPopUpAlarmWindow(flag,patrn.exec($("#alarm"+flag+"Num").html()));
                        }
                        break;
                    }
            });
        }

这个是一个图片点击事件调用的函数,在别的浏览器中都能正常的展现功能,但是就是在ie6,7中这个方法点击只能执行一次,第二次就不能执行,或者说压根就没有进入这个方法体,我是百思不得其解,不至于呀,你都已经能执行成功了,为什么第二次不行?然后我就开始定位找问题,发现居然是这个load方法导致了,我就随便换了一个jquery类似的参数结构的方法get,居然就能执行了,你说奇怪不?查询外加询问一些牛哥,基本都不能解释原因或者说能试的方法都不能成功解决,没办法,退而求其次,换了一个解决的思路。下面就是换了一个思路的解决办法,但是上面问题的原因还是未定位到。(如果有哪位哥们遇到过,请留言一下处理的办法,万分感谢啦):

function showAlarmInfomation(flag){
            var messageNum=patrn.exec($("#alarm"+flag+"Num").html());
            $.get(*/
                "<%=request.getContextPath()%>/jsp/deviceAlarmInfo.jsp",//这个就是要加载的页面,url的地址一定要写正确
                *function(data){
                    $('#deviceAlarmInfo').html(data);
                    switch(flag){
                        case 'Warning':
                            if(messageNum==0){
                                $("#alarmWarningNum").click(function(){showAlarmInfomation('Warning');});
                                $("#alarmErrorNum").click(function(){showAlarmInfomation('Error');});
                                alert("设备暂无警报日志");
                            }else{
                                $("#hiddendevicealarmtype").val(flag);
                                $("#hiddendevicealarmdevicetype").val("StorageServer");
                                dealWithPopUpAlarmWindow(flag,messageNum);
                            }
                            break;
                        case 'Error':
                            if(messageNum==0){
                                $("#alarmWarningNum").click(function(){showAlarmInfomation('Warning');});
                                $("#alarmErrorNum").click(function(){showAlarmInfomation('Error');});
                                alert("设备暂无故障日志");
                            }else{
                                $("#hiddendevicealarmtype").val(flag);
                                $("#hiddendevicealarmdevicetype").val("StorageServer");
                                dealWithPopUpAlarmWindow(flag,messageNum);
                            }
                            break;
                        }
                    });
                }

这个就是我的解决办法,代码可能有点瑕疵,这个是未经优化的。给大家一个思路,如果有谁知道上面的load在ie7的 中的问题的,求赐教啊。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值