Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当用户点击回车键而不是焦点丢失时触发_Javascript_Jquery_Input - Fatal编程技术网

Javascript 当用户点击回车键而不是焦点丢失时触发

Javascript 当用户点击回车键而不是焦点丢失时触发,javascript,jquery,input,Javascript,Jquery,Input,当用户键入搜索字符串并点击enter键时,我试图触发一个事件。我不想在输入失去焦点时触发它(因为当用户单击搜索选项的其他按钮时可能会发生这种情况)。两者 及 当用户键入某个内容并按enter键时触发,但当用户单击搜索框外的某个内容时也会触发。我尝试执行的操作的正确触发器是什么?您可以使用按键事件并检查是否按下了enter键。大概是这样的: $(document).on("keypress", "#search-input input", function(e) { if (e.whic

当用户键入搜索字符串并点击enter键时,我试图触发一个事件。我不想在输入失去焦点时触发它(因为当用户单击搜索选项的其他按钮时可能会发生这种情况)。两者


当用户键入某个内容并按enter键时触发,但当用户单击搜索框外的某个内容时也会触发。我尝试执行的操作的正确触发器是什么?

您可以使用按键事件并检查是否按下了enter键。大概是这样的:

$(document).on("keypress", "#search-input input", function(e) {
     if (e.which == 13) {
         //do some stuff
     }
});

您可以使用keypress事件并检查是否按下了enter键。大概是这样的:

$(document).on("keypress", "#search-input input", function(e) {
     if (e.which == 13) {
         //do some stuff
     }
});

事实上,这与我试图做的相反(当我改变焦点时会触发,但当我按下回车键时不会触发),你是对的。我将问题的第二部分误解为“在…时触发”,将其粘贴在表单中,并侦听以提交,适用于大多数可能的场景,即使没有JavaScription。事实上,这与我试图做的相反(当我改变焦点时触发,但当我按下enter键时不会触发)。你是对的。我将问题的第二部分误读为“在……时触发”,将其粘贴在表单中并侦听以提交,适用于大多数可想象的场景,即使没有JavaScriptThank,也非常有效。(在每次按键时触发似乎有点不雅观和低效,但在其他方面很好。)我很惊讶在输入中没有一个“命名事件”用于点击enter按钮。正如其他人提到的,一个更有效的解决方案是绑定表单的submit事件,如果这在您的用例中有效的话。谢谢,这非常有效。(在每次按键时触发似乎有点不雅观,效率也不高,但在其他方面很好。)我很惊讶在输入中没有一个“命名事件”来点击enter按钮。正如其他人提到的,一个更有效的解决方案是绑定表单的submit事件,如果这在您的用例中有效的话。
$(document).on("keypress", "#search-input input", function(e) {
     if (e.which == 13) {
         //do some stuff
     }
});
$("#search-input input").val("").on("keypress", function(e){
  if(e.which==13){
    //handle it here.
  }
});