【问题标题】:Run Jquery method when enter key is pressed按下回车键时运行 Jquery 方法
【发布时间】:2011-04-12 14:35:35
【问题描述】:

我正在尝试在按下回车键时运行一个方法。此方法已被按钮使用。基本上,当用户填写文本字段并单击提交按钮时,他们会得到一个灯箱。我想要做的是运行相同的操作,但是当按下回车键时。我研究过使用 .keypress 但我只能找到表单标记是标准 html 表单标记而不是 asp.net 表单标记的示例。我认为目前表单仅响应页面上的 .net 控件,我无法使用 jquery 方法覆盖它。有什么想法吗?

【问题讨论】:

    标签: jquery lightbox keypress


    【解决方案1】:

    您可以将keypress 事件绑定到文档,并将trigger() 处理程序绑定到您的按钮。

    $(document).bind('keypress', function(e){
       if(e.which === 13) { // return
          $('#buttonid').trigger('click');
       }
    });
    

    只要您在网站上按回车键,就会触发此事件。如果有人在您的输入表单中使用return,您可能希望它只发生。您只需要将 selectordocument 更改为与您的控件匹配的任何类型的选择器。

    参考:.trigger()

    【讨论】:

    • 当,安迪,我觉得我一直在和你比赛。你什么时候睡觉? =)
    • @mkoistinen:我从来没有听说过,告诉我更多关于“睡眠”的事情:p
    【解决方案2】:
    $(document).keydown(function(e) {
       // test for the enter key
       if (e.keyCode == 13) {
          // Do your function
          myFunction();
       }
    });
    

    【讨论】:

      【解决方案3】:
      $(".input_loginform").keypress(function(e){
          if (e.which == 13){
              e.preventDefault();
              alert("User pressed 'Enter' in a text input. sender form #"+this.form.id);
              postlogin("#"+this.form.id);
          }
      });
      

      【讨论】:

        【解决方案4】:

        var ENTER_KEY = 13;
        var user_key;
        $(document).on('keydown', function(e){
          user_key = e.keyCode || e.which
           if(user_key === ENTER_KEY) { 
              document.querySelector("#button").click();
           }
        });
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <button id="button" onclick="console.log('button pressed')">button</button>

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-02-18
          • 1970-01-01
          • 2010-12-21
          • 1970-01-01
          • 2010-11-13
          • 2019-04-17
          • 2013-09-16
          • 1970-01-01
          相关资源
          最近更新 更多