嗨我試圖用這個代碼來限制用戶的輸入。問題是我無法使用我的返回鍵或輸入框中的鍵盤輸入。我該如何解決我的問題。 進出口使用此代碼:jQuery只允許選定的字符按鍵功能
$("input").keypress(function(e) {
var chr = String.fromCharCode(e.which);
if ("bcdegkmnqupvxy36789".indexOf(chr) < 0)
return false;
});
嗨我試圖用這個代碼來限制用戶的輸入。問題是我無法使用我的返回鍵或輸入框中的鍵盤輸入。我該如何解決我的問題。 進出口使用此代碼:jQuery只允許選定的字符按鍵功能
$("input").keypress(function(e) {
var chr = String.fromCharCode(e.which);
if ("bcdegkmnqupvxy36789".indexOf(chr) < 0)
return false;
});
爲了達到你所需要的,你可以簡單地添加另一個條件的if
聲明,檢查回車鍵碼:13
:
$("input").keypress(function(e) {
var chr = String.fromCharCode(e.which);
if ("bcdegkmnqupvxy36789".indexOf(chr) < 0 && e.which != 13)
return false;
console.log('allowed');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="foo" />
只需更新您的條件以允許e.which === 13
(這是Enter鍵),如下所示:
$("input").keypress(function(e) {
var chr = String.fromCharCode(e.which);
if ("bcdegkmnqupvxy36789".indexOf(chr) < 0 && e.which !== 13) {
return false;
}
console.log(e.which, chr, 'allowed');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input />
你只是想限制輸入,如果用戶輸入一個字符,而不是打鑰匙進入非文字之一(如標籤,回報/輸入)。
所以檢查,看看是否chr
是不假-Y(例如,一個空字符串)第一名:
$("input").keypress(function(e) {
var chr = String.fromCharCode(e.which);
//if chr is a non-character keycode (like 13) then you won't return false
if (chr && "bcdegkmnqupvxy36789".indexOf(chr) < 0)
return false;
});
$("input").keypress(function(e) {
var chr = String.fromCharCode(e.which);
if ("bcdegkmnqupvxy36789".indexOf(chr) < 0 && e.which !=13 && e.which !=8)
return false;
});
能否請您澄清這個問題?你想使用輸入密鑰專門爲此? (e){if(e.which === 13)stuff(); ''可能會有所幫助。 –
看看這個https://stackoverflow.com/questions/8669268/limit-number-of-characters-in-input-field – mahi
那麼鼠標輸入,..例如。點擊右鍵粘貼? – Keith