0

我是处理黑莓设备的新手。我目前在 9700 上遇到 JavaScript 问题,并捕获按键事件并获取正确的键码。

我有这个 javascript:

function numbersonly(e) {
    var key
    if(window.event) {
        key = window.event.keyCode; // IE
    }else{
        key = e.which; // Firefox
    }

    alert('keycode : ' + key);

}

它通过不显眼的 addEvent 脚本附加到输入字段。

在标准桌面浏览器(Firefox 和 IE)上,它会执行您认为的操作...按下一个键将通过警报显示键码。

然而,在黑莓上,按下一个键会做以下两件事之一:

  • 如果按键是数字 1 到 9,则没有任何反应。
  • 如果它是任何其他键,则 keyCode 为“未定义”。

知道发生了什么吗?我认为这是对 BlackBerry JavaScript 支持的限制。

更新:

在运行 OS6 的 9800 模拟器上也进行了测试。那里不存在问题。所以这要么是 BlackBerry OS5 的问题,要么是 BlackBerry 的物理键盘的问题。

4

2 回答 2

0

尝试使用 e.keyCode 而不是 e.which

于 2011-01-13T16:47:29.123 回答
0

我不确定添加内联事件处理程序时是否设置了事件变量。

您是否尝试过从 javascript 设置事件处理程序。所以像

document.getElementById('mytextelement').onkeypress = keytest;
于 2011-01-12T18:39:26.710 回答