使用jQuery防止在HTML文本框中键入空格

alt*_*alt 9 html javascript jquery input

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

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

这对于删除文本并且空格仍然显示在击键上时会发生奇怪的事情,它们只会在以下击键时被删除.有什么建议?

Jam*_*ice 26

您可以通过检查按下的键是否为空格键来防止它被添加,false如果是这样,则返回:

?$("input").on("keydown", function (e) {
    return e.which !== 32;
});?????
Run Code Online (Sandbox Code Playgroud)

这是一个有效的例子.


Adi*_*dil 12

试试用 keyup

现场演示

$('input').keyup(function() {
    str = $(this).val();
    str = str.replace(/\s/g,'');
    $(this).val(str);
});
Run Code Online (Sandbox Code Playgroud)