9

ユーザーが入力できるフォームがあります。javascript HTML/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 に答える