按下Enter键时获取OnClick事件(IE)

时间:2010-03-11 09:10:18

标签: javascript jquery html

我有以下代码(继承自某人):

<div class="feedback">&nbsp;</div>
   <form onsubmit="return false" autocomplete="off">
      Enter your guess: 
      <input type="text" size="48" id="guessedword"/>
      <input type="submit" value="Guess!" id="guessbutton"/>
   </form>
</div>

现在,我想在“猜猜”时做点什么!按下按钮,但我不希望页面改变(即我不希望提交表单)。这就是onsubmit映射到"return false"的原因。我还有以下JQuery:

$("#guessbutton").bind("click", onGuess);

问题是,这在Firefox和Chrome中运行良好。唯一的问题是IE。猜测按钮正常工作,唯一的问题是当在Enter字段中按text时,没有按下按钮,或者至少从不调用onClick行为。在Firefox和Chrome中,它运行良好。

有没有办法让这项工作按我想要的方式进行?或者我是以错误的方式处理这整件事? (我是HTML的新手,所以我甚至不确定这是做正确事情的正确方法。)

由于

2 个答案:

答案 0 :(得分:2)

你可以写:

<form onsubmit="onGuesS(); return false;" autocomplete="off">

这不会重定向回到onclick,但是在所有三个浏览器中,Enter等同于提交表单..所以你在onSubmit上写你的登录,并且返回false表示页面没有再次提交。

答案 1 :(得分:0)

尝试使用onkeypress()事件并按下回车键。不要使用type =“submit”。请改用type =“button”。如果您不向服务器提交表单,请不要使用它。从代码中删除表单标记。

<div class="feedback">&nbsp;</div>
      Enter your guess: 
      <input type="text" size="48" id="guessedword"/>
      <input type="button" value="Guess!" id="guessbutton"/>
</div>

document.onkeypress = function(){
   //your handling code here. keyKode of Enter key = 13
}