2013-05-31 158 views
1

無論鍵盤和操作系統的語言和文化如何,/(正斜槓)符號的javascript鍵碼是什麼?在英文鍵盤中,正斜槓與數字鍵分開,其鍵碼爲191.然而,在西班牙語鍵盤中,字符與同一個鍵中的數字7一起鍵入,我必須執行SHIFT + 7,但這種組合不會導致密鑰碼191!獲取鍵盤數字鍵中符號的javascript鍵碼

我試過if (event.shiftKey && event.keyCode == 55) {}其中55是字符7的鍵碼,它可以工作,但是使用英文鍵盤if (event.shiftKey && event.keyCode == 55) {}的條件允許我輸入&(與符號)符號。

我在我的網頁上有一個文本框,我只想讓用戶輸入數字和斜槓,而不管他們使用的鍵盤或操作系統的語言是什麼,而不管必須只按一個鍵進入正斜槓或他們必須做SHIFT +數字鍵或其他類型的組合的組合。我怎樣才能做到這一點?

回答

0

作爲替代防止按鍵:

<textarea oninput="validate(this,/([^\/\d])/g)" ></textarea> 
<script> 
function validate(inp,reg) 
{ 
    //([^\/\d]) translates to: 
    //"remove everything that is not a/or a number" 
    var s = inp.selectionStart; 
    inp.value = inp.value.replace(reg,""); 
    inp.selectionStart = s;inp.selectionEnd = s;//reset caret position 
} 
</script> 
0

您可以通過聽按鍵代替的keydown實現這一目標,這會給你一個包含按實際鍵對應的ASCII碼的事件對象。

// Vanilla JavaScript 
document.body.addEventListener('keypress', function(event) {  
    console.log(event);  
}); 

// jQuery 
$('body').on('keypress', function (event) { 
    console.log(event); 
}; 

enter image description here