e.减号连字符的哪个键代码已更改

e.which keycode for minus-hyphen has changed

本文关键字:代码 连字符      更新时间:2024-03-10

我在Ubuntu Linux下运行。我有一个JavaScript函数,可以在用户输入数据时编辑数据。数据使用$,.-+字符进行编辑。

<script type="text/javascript" src="/static/jquery/jquery-1.4.2.js"></script>
<script type="text/javascript" src="/static/jquery/jquery-ui-1.8.1.custom.min.js"></script>
<script type="text/javascript" src="/static/js/json_sans_eval.js"></script>
<script type="text/javascript" src="/static/edit.js"></script>
<script type="text/javascript" src="/static/cdpUtils.js"></script>
function onkeypressFunc (event)
{
    var data = event.target.value;
    var keyNum = event.which;
    var keyCode = event.keyCode;
    var shiftKey = event.shiftKey;
    var charCode = event.charCode;
    if (keyNum == 9 && keyCode == 9) // this works when using keydown
    {

我已经测试keyNum几个月了,+密钥为43,-密钥为45。今天我注意到我不能再使用主键盘上的-键输入负数了。经过检查,我可以看到keyNum代码现在是173。这个变化有什么解释吗。我相信几个月前也发生了同样的事情,我不得不更改软件,然后寻找新的代码。

这只在Firefox 22.0上测试过。

我认为这是firefox的一个bug(至少是兼容性问题),因为

String.fromCharCode(173)

输出"

通常,按键代码更可靠,例如,对于字符"+",您可以按shift(16)和=(187),或数字面板上的+(107),但按键代码始终为43。

此外,当您使用jQuery时,首选event.w。

event.which属性规范event.keyCode和event.charCode