9

所以我有一个HTML用户可以输入的表单。我如何使用 javascript/jQuery 立即无缝地从文本框中删除空格?我一直在研究.val()jQuery 方法并想出了这个:

$('input').keydown(function() {
    str = $(this).val();
    str = str.replace(/\s/g,'');
    $(this).val(str);
});

这对删除文本做了奇怪的事情,并且空格仍然出现在击键上,它们只是在下一次击键时被删除。有什么建议么?

4

2 回答 2

26

您可以通过检查按下的键是否是空格键并在是的false话返回来阻止它被添加:

​$("input").on("keydown", function (e) {
    return e.which !== 32;
});​​​​​

这是一个工作示例

于 2012-06-29T20:05:04.847 回答
12

尝试使用keyup

现场演示

$('input').keyup(function() {
    str = $(this).val();
    str = str.replace(/\s/g,'');
    $(this).val(str);
});
于 2012-06-29T20:02:56.687 回答