gpt4 book ai didi

jQuery keypress .val() 在函数运行后返回先前的值

转载 作者:行者123 更新时间:2023-12-03 22:47:04 24 4
gpt4 key购买 nike

我有一个奇怪的问题,我似乎无法弄清楚:

此 keydown/keypress 函数仅返回先前的值(即第一次不返回任何内容,第二次返回第一个值,第三次返回第二个值,等等...)

http://jsfiddle.net/ZRPfb/

有人可以告诉我为什么keydownkeypress不起作用,但keyup起作用吗?

 $(".modal-body #rowDownload").unbind().on('keypress',function(){
var numRows = $(".modal-body #rowDownload").val();
// var numRows = $(this).val();
alert(numRows);

if (typeof numRows !== 'number') return;

});

最佳答案

简短回答

使用 .keyup() 事件代替

原因如下

这是 javascript 的正常行为。您在按键时调用的函数在添加值本身之前运行。

让我向您演示一下。当您在按键时执行 .preventDefault() 时,会发生什么?该字符将不会被插入。后面的代码添加字符,然后运行 ​​preventDefault() 并删除该字符,这符合逻辑吗?我不这么认为,这就是为什么该函数在添加字符之前运行。

它将与 .keyup() 一起使用,因为角色已经添加。

希望这能澄清一点!

关于jQuery keypress .val() 在函数运行后返回先前的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17393449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com