我有一个简单的文本框,我希望在我输入内容时重定向页面。
<input type="text" onkeydown="window.open('http://www.example.com', '_self');" />
但是,当我在此文本框中按Enter
键时,它不会转到新页面。但是当我按下A,B,1,2这样的按键时就会发生这种情况...这种情况发生在我的Chrome浏览器,Firefox和IE9中,而不是IE8中。
但是当我在其中放置alert
函数但按下Enter
键时,在我关闭警告框后,它会成功重定向。
<input type="text" onkeydown="alert();window.open('http://www.example.com', '_self');" />
它适用于所有浏览器。
任何人都可以解释这种浏览器行为吗?
答案 0 :(得分:1)
我认为此行为是因为您尚未设置return false
。
在你的代码中尝试这样:
function navigate()
{
window.location.href = 'http://www.google.com';
window.event.returnValue=false;
}
HTML中的使用如下:
<input type="text" onkeydown="navigate();" />
希望这会有所帮助
而不是window.open
使用window.location.href
进行重定向,就像muzzafar所提到的那样。
答案 1 :(得分:0)
尝试使用window.location.href,这在重定向中应该可以正常工作。
示例:
<input type="text" onkeyup="window.location.href = 'http://www.example.com';" />
此外,在keyup上使用它是一个更好的选择。