问题 获取jQuery keypress事件的输入文本值[重复]


可能重复:
按下后jQuery获取输入值 

我想要得到一个 input text 价值 jQuery  .keypress() 功能。我已经看过使用keypress和keydown的各种示例,但并不专注于获取输入值。 可能吗?

$(document).ready(function(){
    $("#my_field").keydown (function (e) {
        alert (e);
    });
});

返回的对象有一系列属性,但我还没有看到值输入字段属性。

有没有办法得到它?


2726
2017-08-07 13:32


起源



答案:


我正在尝试获取输入文本值

使用 val()

$("#my_field").keydown (function (e) {
    alert ($(this).val());
});

假如说 #my_field 是您想要获取值的输入字段的ID。


6
2017-08-07 13:35



它非常完美,非常感谢! - vitto
这不包括刚按下的角色。 - andrewrk
在keydown函数内部,添加此项以包含刚按下的键setTimeout(function(){console.log($('#search')。val())},5) - Marius Andreiana
正如@ superjoe30所说,它不包括刚被按下的角色。真正的解决方案是获取输入的值 keyup 事件: stackoverflow.com/questions/8795283/... - Alejandro García Iglesias
为了获得最佳结果,从而输入最后一个字符,请使用keyup。 api.jquery.com/keyup 在输入最后一个字符后触发键,而在输入最后一个字符之前输入keydown。 - dxhans5


答案:


我正在尝试获取输入文本值

使用 val()

$("#my_field").keydown (function (e) {
    alert ($(this).val());
});

假如说 #my_field 是您想要获取值的输入字段的ID。


6
2017-08-07 13:35



它非常完美,非常感谢! - vitto
这不包括刚按下的角色。 - andrewrk
在keydown函数内部,添加此项以包含刚按下的键setTimeout(function(){console.log($('#search')。val())},5) - Marius Andreiana
正如@ superjoe30所说,它不包括刚被按下的角色。真正的解决方案是获取输入的值 keyup 事件: stackoverflow.com/questions/8795283/... - Alejandro García Iglesias
为了获得最佳结果,从而输入最后一个字符,请使用keyup。 api.jquery.com/keyup 在输入最后一个字符后触发键,而在输入最后一个字符之前输入keydown。 - dxhans5


我不清楚你在这之后是什么意思,如果你在写完这封信后,不是全部价值,你可以使用 String.fromCharCode(), 例如:

$(document).ready(function(){
  $("#my_field").keydown (function (e) {
     alert (String.fromCharCode(e.which));
  });
});

你可以在这里尝试一下


11
2017-08-07 13:35



当我尝试从键盘输入数字时,这与我输入数字的结果不一样。 - gerl


你可以看看 event.which

$(function() {
    $('#my_field').keydown(function(e) {
        alert(e.which);
    });
});

2
2017-08-07 13:34





如果您想要整个输入字段值,请查看警报所在的位置:

$(this).val()

-3
2017-08-07 13:36