使用按键并单击提交

时间:2016-02-19 13:45:00

标签: javascript jquery

如何在同一个if语句中创建click事件和按键?

现在我有:

if($('.test').is(':visible;)){
   $('button').click(function(e){
      ..do something here
    }else {
     ..do something here
 });

.test是值字段,当用户输入值时,我希望他们能够点击回车键,而他们在此框中提交信息或使用按钮来执行此操作。这不是一种形式,它们都是div。

4 个答案:

答案 0 :(得分:5)

因此,将逻辑放入一个通用函数中,并将其命名为click和keypress。

    (function () {
    
       function yourLogic () {
         $(".out").text($(".yourInput").val());
       }
    
       $("button").on("click", yourLogic);
       $(".yourInput").on("keyup", function (evt) {
           if (evt.which===13) yourLogic();
       });
    
    }());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="yourInput" />
<button>Click</button>
<div class="out"></div>

或不使用常用功能并调用按钮上的click()事件。

   $(".yourInput").on("keyup", function (evt) {
       if (evt.which===13) $("#yourButton").trigger("click");
   });

答案 1 :(得分:1)

如果您有表单,请绑定submit处理程序:

$("form").submit(function(e){
    e.preventDefault();
    // your event handler here
}); 

当您按Enter键提交表单时,以及同时单击“提交”按钮时,将触发此操作。

答案 2 :(得分:0)

你可以像这样使用它:

$("input").keypress(function(event) {
    if (event.which == 13) {
        event.preventDefault();
        $("form").submit();
    }
});

答案 3 :(得分:0)

或者只需点击背景

&#13;
&#13;
$(document).keypress(function(e) {
    if(e.which == 13) {
        $('button').trigger("click");
    }
});

//if($('.test').is(':visible;)){
   $('button').on("click",function(e){
      alert("click or enter");
       e.stopPropagation();
   });
//   }
 //  else {
  //   ..do something here
   //}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<button>CLick me</button>
&#13;
&#13;
&#13;