Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.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/76.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 使用keydown()如果警报值为空,为什么在第一个字符之后?_Javascript_Jquery_Keypress_Keydown - Fatal编程技术网

Javascript 使用keydown()如果警报值为空,为什么在第一个字符之后?

Javascript 使用keydown()如果警报值为空,为什么在第一个字符之后?,javascript,jquery,keypress,keydown,Javascript,Jquery,Keypress,Keydown,如果我(第一次)按下一个字符,警报将打印一个空值 怎么可能?我不明白 $('#search-vulc').on('keydown', function() { var textinsert = ($(this).val()).toLowerCase(); alert(textinsert); }); 请告诉我如何在第一次按下字符时打印它 这里还有一个JSFIDLE示例: 使用键控: $('search vulc')。在('keyup',function()上{ var textins

如果我(第一次)按下一个字符,警报将打印一个空值

怎么可能?我不明白

$('#search-vulc').on('keydown', function() {
  var textinsert = ($(this).val()).toLowerCase();
  alert(textinsert);
});
请告诉我如何在第一次按下字符时打印它

这里还有一个JSFIDLE示例:


使用
键控

$('search vulc')。在('keyup',function()上{
var textinsert=($(this.val()).toLowerCase();
警报(文本插入);
});

使用keuyp事件:

这是因为
keypress事件
是在将新字符添加到元素值之前触发的(因此第一个
keypress事件
是在添加第一个字符之前触发的,而值仍然为空)。您应该改为使用
keyup
,它在添加角色后激发

$('#search-vulc').on('keyup', function() {
  var textinsert = ($(this).val()).toLowerCase();
  alert(textinsert);
});

如果使用
keydown
函数,它会在dom获取输入值之前工作

使用
keyup
在您离开键时触发事件,以便它获得输入的值

$('search vulc')。在('keyup',function()上{
var textinsert=($(this.val()).toLowerCase();
警报(文本插入);
});


keydown事件在值更新之前发生,请使用
keydup
input
事件而不是使用console.log进行调试,而不是alert@PranavCBalan什么形式的活动?可能是change()?@Borja:在文本的情况下,当你离开焦点时会触发field@PranavCBalan好的,非常感谢你的建议;)按键不是keydown@Borja我不这么认为,如果你想在输入字符之前执行一些操作,请使用keydown,如果你想在输入字符之后执行一些操作,请使用keydup-根据要求