代码之家  ›  专栏  ›  技术社区  ›  Edan Maor

按Enter键时获取onclick事件(即)

  •  1
  • Edan Maor  · 技术社区  · 14 年前

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

    <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中非常有效。唯一的问题是,猜测按钮工作正常,唯一的问题是当按下 Enter text 字段中,未按下按钮,或者至少从未调用onclick行为。在火狐和Chrome中,它工作得很好。

    有没有办法让这一切按我想要的方式运作?还是我把这整件事搞砸了?(我是HTML新手,所以我甚至不确定这是正确的做法)。

    谢谢

    2 回复  |  直到 14 年前
        1
  •  2
  •   raj    14 年前

    你可以写:

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

    这不会将enter重定向到onclick,但在这三个浏览器中,enter相当于提交表单。所以你把你的登录信息写进onsubmit,返回false,页面就不会再被提交了。

        2
  •  0
  •   Artsiom Anisimau    14 年前

    尝试使用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
    }