按“Enter”键调用一个功能

时间:2013-07-01 18:48:19

标签: javascript jquery

在我的页面中有一个按钮和一个文本框。

最初我点击按钮调用一个函数。现在我也想通过按 Enter 键来实现它。但它没有用。按 Enter 键无法到达myFunction。

<script type="text/javascript">
     $(document).ready(function () {
         $("#txt1").keyup(function (event) {
         if (event.keyCode == 13) {
             $("#btn1").click(myFunction);
         }
     });
         $('#btn1').click(myFunction);

     });
     function myFunction() {
         // do something, press enter key doesn't reach here.
         })
     }
  </script>

2 个答案:

答案 0 :(得分:4)

你几乎是对的:只需使用.click().trigger('click')

调用处理程序
 $(document).ready(function () {
    $("#txt1").keyup(function (event) {
    if (event.which== 13) {
        $("#btn1").click(); // Just do a click.
     }
   });

     $('#btn1').click(myFunction); //Your handler is already registered here.

});
function myFunction() {
         // do something, press enter key doesn't reach here.

}

在jquery事件处理程序中使用 event.which 而不是event.keyCode,因为它会标准化event.keyCodeevent.charCode

答案 1 :(得分:1)

而不是

$("#btn1").click(myFunction);

我建议使用:

$("#btn1").on("click", function () {
   myFunction();
});

然后:

if (event.keyCode == 13) {
     $("#btn1").click(); //click the button
}

JSFIDDLE