Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 jQuery按键/向下键未正常工作_Javascript_Jquery_Html_Client_Frontend - Fatal编程技术网

Javascript jQuery按键/向下键未正常工作

Javascript jQuery按键/向下键未正常工作,javascript,jquery,html,client,frontend,Javascript,Jquery,Html,Client,Frontend,我在jQuery中创建了一个实时搜索栏,但我有一个问题 $(document).on('keydown', '.searchInput', function(){ // or keypress I have the same result console.log($(this).val()); }); 当我按下输入字段.searchInput中的一个按钮时,它会记录它拥有的最后一个值。例如,如果我键入a它将记录(空),那么如果我键入s(因此搜索栏中有as),它将记录a,如果我键入d(搜索栏

我在jQuery中创建了一个实时搜索栏,但我有一个问题

$(document).on('keydown', '.searchInput', function(){ // or keypress I have the same result
  console.log($(this).val());
});

当我按下输入字段
.searchInput
中的一个按钮时,它会记录它拥有的最后一个值。例如,如果我键入
a
它将记录
(空),那么如果我键入
s
(因此搜索栏中有
as
),它将记录
a
,如果我键入
d
(搜索栏中的
asd
),它将记录
as
,依此类推。我做错了什么?谢谢大家!

如果我正确理解了问题,您希望在文本框中捕获完整的值,您需要为其附加keyup事件,而不是keydown

$(document).on('keyup', '.searchInput', function(){ // or keypress I have the same result
  console.log($(this).val());
});

如果我理解正确,您希望在文本框中捕获完整的值,您需要为其附加keyup事件,而不是keydown

$(document).on('keyup', '.searchInput', function(){ // or keypress I have the same result
  console.log($(this).val());
});

问题是您正在将事件附加到
keydown
。这将在输入实际发生之前捕获值。如果要捕获完整的值,请使用
keyup
eventinstead@AkshayKhandelwal我真的需要使用keydown(或keypes或任何按下键时触发的东西。还有什么我可以使用的吗?(keydown和keypress都不起作用))你所说的需要是什么意思。是否有任何要求表明您需要这样做,或者keyup上附加了另一个事件处理程序。如果以后是这种情况,那么在调用所有事件处理程序时仍然可以使用keyup。问题是您正在将事件附加到
keydown
。这将在输入实际发生之前捕获值。如果要捕获完整的值,请使用
keyup
eventinstead@AkshayKhandelwal我真的需要使用keydown(或keypes或任何按下键时触发的东西。还有什么我可以使用的吗?(keydown和keypress都不起作用))你所说的需要是什么意思。是否有任何要求表明您需要这样做,或者keyup上附加了另一个事件处理程序。如果以后是这种情况,那么在调用所有事件处理程序时仍然可以使用keyup。我不想使用keydown,但由于某些原因它不起作用。它记录最后一个值之前的值(现在屏幕上的值。如果我键入了
asdf
,它记录
asd
。如果我键入了
asd
它记录了
as
等)。使用keydown,您需要准备好当前键的字符,并将其附加到不可行的可用字符串中。我建议您改用
keyup
。否。我不想使用keydown,但由于某些原因它不起作用。它记录最后一个值之前的值(现在屏幕上的值。如果我键入了
asdf
,它记录
asd
。如果我键入了
asd
它记录了
as
等)。使用keydown,您需要准备好当前键的字符,并将其附加到不可行的可用字符串中。我建议您改用
keyup