Javascript jQuery按键/向下键未正常工作
我在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(搜索栏
$(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
。