如果按下的键是变音符号(ä,ö,ü),我想通过eventListener
进行检查。问题是charCode
/ keyCode
是0,如果我没有弄错,这个值也用于某些控制键。
我尝试将e.which
的{{1}}解析为我可以使用的内容,但直到现在似乎没有任何效果。如果我可以做keyDown
之类的事情,那就太好了。
有任何帮助吗? :)
或者检查'ä'.atCharCode()
?
答案 0 :(得分:2)
Firefox使用这些特定字符的密钥代码为0.对于所有其他浏览器,它是186,192和222.
例如,如果你想检查是否按下字母键+变音符号,我使用以下代码:
$('.myInputBox').keydown(function(e) {
if ($.inArray(e.keyCode, [0, 186, 192, 222]) != -1 || (e.keyCode > 64 && e.keyCode < 91)) {
alert('valid key!');
} else {
e.preventDefault();
alert('no valid key!');
}
});
答案 1 :(得分:1)
发现问题。在Chrome中,everthing很好,并且变性无法获得正确的charCode。另一方面,在Firefox中,似乎没有真正的支持umlaute,他们的charCode始终为0.我测试的FF是17.0.1
因此,如果您想解决此问题,则必须不允许e.keyCode
/ e.which
0
的事件。
答案 2 :(得分:0)
<script type="text/javascript">
function disablekeys(e) {
var e = event || evt;
var charCode = e.which || e.keyCode;
if (charCode = 8) {
//your code here
}
}
</script>
从以下链接中查找字符代码 http://www.expandinghead.net/keycode.html