2012-06-29 98 views
9

所以我有一個用戶可以輸入的HTML表單。如何在使用javascript/jQuery時立即無縫地從文本框中刪除空格?我一直在研究的.val() jQuery的方法以及與此想出了:防止用jQuery在HTML文本框中輸入空格

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

這不奇怪的事情,以消除文字和空間仍然顯示在按鍵,他們只是在下面的按鍵取出。有什麼建議麼?

回答

25

你可以防止它在被添加了所有通過檢查按下的鍵是空格鍵和返回false如果這樣:

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

這裏是working example

+2

該代碼中有一些gremlins。 – alt

+0

謝謝你!完美的作品! – alt

+0

@JacksonGariety - 它有什麼問題/「gremlins」是什麼意思? –

11

嘗試使用keyup

Live Demo

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

這也增加了它,並迅速刪除它,也不能選擇文本刪除它(與CMD + A)。 :/ – alt

+0

我覺得這個選項非常好。因爲它也會影響複製和粘貼空間。 – Jesse