0

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

最初我通过单击按钮调用一个函数。现在我也想通过按键来实现它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>
4

2 回答 2

4

你几乎是对的:只需使用.click() or调用处理程序.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.

}

也使用event.which而不是event.keyCodewhen 在 jquery 事件处理程序中,因为它规范化event.keyCodeevent.charCode.

于 2013-07-01T18:49:09.030 回答
1

代替

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

我建议使用:

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

进而:

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

JSFIDDLE

于 2013-07-01T18:49:38.297 回答