ie6下location.href不自动跳转的原因和相关解决办法

var a = new Element("A",{href:"javascript:void(0)"}).update("查看报表");
    Event.on(a,"click",function(){
      RAP.gotoPage("${ctxPath}/rpt/reportArchiveInstance.shtml?gotoPage=reportWriteOther";  

});

这段代码就是创建一个超链接对象,然后点击超链接调用js函数实现当前页面的跳转。在ie7以上版本以及火狐下面运行没有任何错误,可是在ie6下面运行怎么就是不跳转。

后来看了http://zmx.iteye.com/blog/474430这篇文章之后,发现void(0)在ie6下面不会跳转,于是将代码改成

var a = new Element("A",{href:"#"}).update("查看报表");
    Event.on(a,"click",function(){
      RAP.gotoPage("${ctxPath}/rpt/reportArchiveInstance.shtml?gotoPage=reportWriteOther";  

});

经过测试,程序确实可以在ie6,ie7,firefox下面运行,但是页面跳转的时候主页面猛的往上一窜,把布局框架中的头部给隐藏了。虽然实现了功能,可这并不是我们想要的效果,最后找了各种办法,将代码修改如下:

var a = new Element("A",{style:"{cursor:hand;color:#800080;}"}).update("查看报表");
    Event.on(a,"click",function(){
      RAP.gotoPage("${ctxPath}/rpt/reportArchiveInstance.shtml?gotoPage=reportWriteOther";  
});

经过测试,程序确实可以在ie6,ie7,firefox下面运行,并且总体页面显示正常,正是我们所要的结果。这就是没有利用连接标签自己本身的默认跳转,而是使用样式来改变他的展现情况,然后在点击的时候通过函数指向他的跳转,就没有问题了。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值