當我從鍵盤上的字母上面的數字按8,event.which返回56,但是當我按下側面給出的數字鍵盤上的8,它返回104('h'ascii)。我這樣做:jQuery:event.which返回不同的代碼時,從數字鍵盤按下一個數字,當從數字鍵上面按字母時
var keyPressed = event.which;
String.fromCharCode(keyPressed); // returns 8 from keyboard, 'h' from keypad
我這樣做的處理程序中的的keydown事件。現在,我知道鍵盤上的每個鍵都有一個不同的keyCode,並且可能是event.which返回numpad 8的keyCode,這恰好與ascii'h'一致。我只想要返回8個,不管從哪裏輸入。
此外,我不能將上述代碼綁定到keyPress事件處理程序,因爲它不捕獲IE中的刪除,製表符等。
謝謝,但我希望8返回時,我按8從數字鍵盤。我怎樣才能做到這一點? – Daud
我想你必須檢查數字鍵盤上的8位密鑰並返回所需的「真實」值。 if(e.keyCode == 56)return 8;'EDIT:'if(e.keyCode> = 48 && e.keycode <= 57)return parseInt(e.keyCode-48);' – OptimusCrime