2016-12-05 67 views
0

打字時我怎麼不允許「2」當時第一次打字? 使用JavaScript有可能嗎?使用javascript過濾器輸入類型編號

<input type="number"/> 

只有「2」在啓動時不能鍵入。 任何身體幫助?謝謝。

+0

您可以使用正則表達式和重視它keydown事件而監聽數字鍵2(各種關鍵代碼:https://www.cambiaresearch.com/articles/15/javascript-char - 代碼鍵碼) –

回答

1

$('input').keypress(function(evt) { 
 
    if (evt.which == "2".charCodeAt(0) && $(this).val().trim() == "") { 
 
    return false; 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="number"/>

+0

謝謝你的幫助@Amadan :) –

+0

嗯,這是一個矯枉過正(而不是一點點)讓jQuery來附加evet並從元素中獲取價值。 而不是'$('input')'使用'document.querySelector',而不是'keypress'使用'addEventListener('keypress''。。而不是'$(this).val()'使用'this.value'而且你很好,我只是爲你省去了一些不必要的代碼(在你的情況下)。更重要的是,在每次調用'$(this)'時你都會創建一個新的jQuery對象實例 - 相反只是從元素屬性中獲得價值 – grzesiekgs

+1

@grzesiekgs:OP在他的標籤中指定了[tag:jquery],我用jQuery回答了這個問題,我認爲這不是他在他的項目中唯一的東西,混合樣式很奇怪。如果那個標籤不在那裏,我會用普通的JS回答。 – Amadan