BlackBerry JavaScript 对键码/按键的支持
我是处理 BlackBerry 设备的新手。我目前在 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 物理键盘的问题。
I'm new to dealing with BlackBerry devices. I'm currently running into a JavaScript issue on a 9700 and trapping keypress events and getting a proper keycode.
I have this javascript:
function numbersonly(e) {
var key
if(window.event) {
key = window.event.keyCode; // IE
}else{
key = e.which; // Firefox
}
alert('keycode : ' + key);
}
And it's attached to an input field via an unobtrusive addEvent script.
On a standard desktop browser (Firefox and IE), it does what you'd think it does...pressing a key will show the keycode via the alert.
On a blackberry, however, pressing a key does one of two things:
- if the key presses is the numbers 1 through 9, nothing happens.
- if it's any other key, the keyCode is 'undefined'.
Any idea what's going on? I assume it's a limitation of the BlackBerry JavaScript support.
UPDATE:
Tested this on a 9800 Simulator as well, which is running OS6. Problem doesn't exist there. So this is either an issue with BlackBerry OS5 or BlackBerry's physical keyboard.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不确定添加内联事件处理程序时是否设置了 event 变量。
您是否尝试过从 javascript 设置事件处理程序?所以像
I'm not sure if the event variable is set when you add an inline event handler.
Have you tried setting the event-handler from javascript. So something like
尝试使用 e.keyCode 而不是 e.which
Try using e.keyCode instead of e.which