javascript在文本框中输入密钥重定向

时间:2012-02-03 04:42:48

标签: javascript internet-explorer google-chrome cross-browser window.open

我有一个简单的文本框,我希望在我输入内容时重定向页面。

<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');" />

它适用于所有浏览器。

任何人都可以解释这种浏览器行为吗?

2 个答案:

答案 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上使用它是一个更好的选择。