我想顯示在keyup事件,但只有當其中的關鍵是一個字母或數字,不移位,標籤等做KEYUP警報只有在密鑰是一個字母或數字
<input type='text' id='hi />
警報
或者除了tab,shift,ctrl之外的任何按鍵,輸入
任何人都知道如何?
我想顯示在keyup事件,但只有當其中的關鍵是一個字母或數字,不移位,標籤等做KEYUP警報只有在密鑰是一個字母或數字
<input type='text' id='hi />
警報
或者除了tab,shift,ctrl之外的任何按鍵,輸入
任何人都知道如何?
您將有一個「KEYUP」事件附加到文本框和事件檢查內爲keycodes你想要的:
$("#hi").bind("keyup", function(e) {
//on letter number
if (e.which <= 90 && e.which >= 48)
{
alert('hello');
}
});
<input id="textbox" type='text' id='hi />
$("#textbox").keypress(function (e){
if (e.which <= 90 && e.which >= 48)
{
alert('Letter or number click');
}
});
如果你想檢查哪些字符被鍵入,keyup
是錯誤的事件。只有keypress
事件可以可靠地告訴你任何關於輸入的字符。可以按如下方式做到這一點:
$("#hi").keypress(function(e) {
var charTyped = String.fromCharCode(e.which);
if (/[a-z\d]/i.test(charTyped)) {
alert("Letter or number typed: " + charTyped);
}
});
爲什麼keypress事件更可靠? – Kumar
@Kumar:由於'keyup'和'keydown'關注哪個物理鍵被按下,而'keypress'則關注按鍵導致的文本輸入。 –
<input type="text" id="hi" onkeypress="keyPress()" />
function keyPress(e){
var key, x = e || window.event; key = (x.keyCode || x.which);
if(key <= 90 && key >= 48){
alert("Key pressed");
}
}
這附加碼佔數字,字符和數字鍵盤的數字:
document.querySelector(selector).addEventListener('keypress', function() {
if (e.which <= 90 && e.which >= 48 || e.which >= 96 && e.which <= 105) {
alert('keycode ' + e.which + ' triggered this event');
//do whatever
}
});
使用您的鍵盤數字時不起作用。 http://www.javascripter.net/faq/keycodes.htm – dreagan