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