【发布时间】:2014-09-14 09:28:20
【问题描述】:
Stack Overflow 上已有的答案不能解决我的问题..
我可以通过键码检查特殊字符,但点和删除都给出相同的键码 46...
在这种情况下如何识别特殊字符?
function keypress(ev)
{
if(ev.which == 0)
{
alert('pressed character is special handling character like del,Home,Navigation buttons, etc');
} else {
alert('pressed character is normal character');
}
if(ev.keycode){
var k = ev.keycode;
alert('ascii value of pressed character is ....' + k);
}
}
如果我使用的是 IE8... ev.which 变为零并进入 'if' 块并在按下的字符是特殊字符时打印警报...否则它转到 'else' 块...
但在 IE10 中,对于特殊字符和普通字符,它总是会“else”阻止...
令人惊讶的是,dot 和 delete 在 IE10 中具有相同的 ascii 值 46.. 在 keycode 'if' 块的警报中打印相同....
如何区分IE10中按下的普通字符和特殊字符.....
【问题讨论】:
-
你如何调用函数
keypress???window.onkeyup = keypress;??
标签: javascript html internet-explorer-8 dom-events internet-explorer-10