当前位置:  开发笔记 > 编程语言 > 正文

jQuery keyup事件滞后于用户输入

如何解决《jQuerykeyup事件滞后于用户输入》经验,为你挑选了1个好方法。

我有一个文本框,用户只能输入数字数据.我在文本框的keyup上使用以下函数:

$('#ssn').keyup(function () {
    var val = this.value.replace(/\D/g, '');
    this.value = val;
});

我遇到的问题是当用户键入限制键时滞后,该字符在被空字符串替换之前显示片刻.按住某个键将在框中显示一串字符,直到该键被释放.有没有办法防止这种行为?我尝试了不同的键盘事件,如keydown或keypress,它们似乎没有表现得更好.这是一个问题的小提琴:https://jsfiddle.net/oxpy96g9/



1> Josh Crozier..:

将我的评论转换为答案

不是监听keyup事件,而是监听事件,以便在值更改时触发input事件,而不是在释放键时触发事件:

更新的示例

$('#numbers').on('input', function() {
  this.value = this.value.replace(/\D/g, '');
});

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有