window.location.href跳转无效 IE Bug

本文探讨了在Internet Explorer(IE)与Firefox浏览器中处理页面事件的兼容性问题,特别是针对window.location.href跳转及按键输入事件的处理方法。文中提供了一种通用的解决方案,确保在不同浏览器环境下能够正确响应用户的交互行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

window.location.href跳转的ie bug
2010-10-25 17:36

http://support.microsoft.com/kb/190244/en-us

在ie下,<A HREF="#" onclick="window.location.href='http://www.microsoft.com';">
problem repro </A>

前面要加一句window.event.returnValue = false;才能成功。

注意:对应于ie下的event.returnValue,FF中的是方法e.preventDefault()

window.event.returnValue在IE和FireFox下的兼容写法
2009年04月09日 星期四 16:47

在ie下习惯用returnValue了,可是到了ff却用不了,郁闷……

瞎折腾一番,终于搞了个兼容的方法,如释重负。。。。

以下是我写的一段输入电话号码的js,注意其中黑体部分。

js其实还是挺灵活的,直接用 if(window.event)它也能正常工作,还好

对应于ie下的event.returnValue,FF中的是方法e.preventDefault()。代码如下

function keyDown(e)
{
e = window.event || e;
var k = e.keyCode || e.which;

if ((k==46)||(k==8)|| (k>=48 && k<=57)||(k>=96 && k<=105)||(k>=37 && k<=40)||(k==189))
{
if(str.indexOf('-')!=-1 && (k==189))
{
if(window.event)
window.event.returnValue = false;
else
e.preventDefault();//for firefox

}
}
else if((k==190)||(k==110))
{
if(window.event)
window.event.returnValue = false;
else
e.preventDefault();//for firefox
}
else
{
if(window.event)
window.event.returnValue = false;
else
e.preventDefault();//for firefox
}
}

转自:http://hi.baidu.com/meneye/blog/item/24bb5aec6595aade2e2e2153.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值