gpt4 book ai didi

javascript - 按键事件不适用于最后插入的字符

转载 作者:搜寻专家 更新时间:2023-11-01 04:47:10 26 4
gpt4 key购买 nike

我写了这段代码:

$(".SermeCoopConvertirMayuscula").keypress(function (e) {
$(this).val($(this).val().toUpperCase());
regexp = /^[A-Z0-9 ]*$/;
return regexp.test($(this).val());
});

它工作正常。但是,当我输入内容时,它不会更新我最后插入的字符。我怎样才能添加最后一个字符?

我需要使用 keypress 事件,我不能使用 keyup 事件。

最佳答案

是的,因为当函数被调用时,字段不会更新为值

事件在这一步被调用

  1. 按键
  2. 按键
  3. 更新 View
  4. 按键
  5. 更新 View
  6. 按键

因此,如果您可以将此事件更改为 keyup然后你会得到最新的值

或者,如果您仍想使用可以做一件事的按键事件,您可以使用以下代码

$(".SermeCoopConvertirMayuscula").keypress(function (eventObject) {
var val = $(this).val() + eventObject.key;
val =val.toUpperCase()
var regexp1 = /^[A-Z0-9 ]*$/;
var regexp2 = /^[A-Za-z0-9 ]$/;
if(regexp1.test(val) && regexp2.test(eventObject.key)) {
$(this).val(val);
}

return false;
});

关于javascript - 按键事件不适用于最后插入的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30668236/

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