Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iPad, JavaScript character codes, and shiftKey

Say I have a web application that calls the following jQuery every time a user presses a key in a textarea with an ID of "txt":

$('#txt').keydown(function(e) {
console.log(e.which); // shows the keyCode
console.log(e.shiftKey);
}

On a desktop browser, for characters like ( and 9, I can distinguish between the two by checking to see if the shift key is held down (with e.shiftKey). However, in Safari for iPad, there is no shift key required to type those characters. So, for example, pressing both ( and 9 on the iPad's keyboard logs "57" in the console for the keyCode. The value logged for e.shiftKey always appears to be false.

How might I be able to reliably distinguish between typing shifted characters on the iPad? Thanks in advance!

like image 885
robertpalmer Avatar asked Dec 29 '10 14:12

robertpalmer


1 Answers

You could try using keyPress. at keyDown both 9 and ( have 57 but at keyPress event they have 9 : 57 and ( : 40.

Hope this helps also a useful link http://notes.ericjiang.com/posts/333

Or use the event.charCode which will return the ASCII code.

like image 80
khael Avatar answered Oct 03 '22 08:10

khael