Ber*_*ano 7 javascript jquery keypress
我使用用户在keypress上使用event.which键入的内容,并使用String.fromCharCode输出.
用户类型: 一
event.which:67个
输出: 一个
对于我可以处理的数字和字母,但在谈论特殊字符时,我会得到完全不同的输出.
用户类型: -
event.which:189
输出: ½
经过研究,我遇到了charCodeAt函数,使用这个函数,输出完美,甚至是特殊字符.
不幸的是,我不能使用charCodeAt,因为用户直接从$(文档)输入,而不是从字段输入.
所以,问题是,有没有办法从keyPress event.which获得正确的charCode?
如果仍然无法弄清楚我的怀疑,我让你成为一个小提琴 =)
使用keypress事件而不是keyup.它报告字符代码而不是键代码,它在键入实际字符时触发,而不是在释放键时触发,因此它也处理重复字符.
$('#field').focus().keypress(function(e){
var key = e.which;
$("#key").val(String.fromCharCode(key));
});
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/Guffa/QCHt7/1/
如果你想在任何地方捕捉按键,你必须在文档上连接事件,以及消耗按键的任何元素.例如,文本框将处理按键,并且不会让它冒泡到父元素.