我是处理BlackBerry设备的新手。我目前正在运行9700上的JavaScript问题并陷印按键事件并获取正确的键码。黑莓键盘/按键的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)上,它会做你认为它的功能......按一个按键会通过警报显示键码。
在BlackBerry上,但是,按一个键做两件事情之一:
- 如果按键是数字1到9,什么都不会发生。
- 如果它是任何其他键,keyCode是'未定义'。
任何想法是怎么回事?我认为这是对BlackBerry JavaScript支持的限制。
UPDATE:
测试这在9800模拟器为好,这是运行OS6。问题在那里不存在。所以这是BlackBerry OS5或BlackBerry的物理键盘的问题。
e.keyCode那会是黑莓手机为中心的问题?例如,上面的脚本就像在Firefox中一样工作。 –
@DA我不认为有任何规范说明必须为内联事件处理程序设置_event_变量。它在IE中工作,因为IE过去使用window.event而不是将事件对象与函数一起传递。 Firefox添加了与IE兼容的行为。我不确定BB是否也是如此。 – Gerben
呃...我会试试看。也就是说,我们正在处理的应用程序将所有JS作为内联事件处理程序。好或坏,这可能是我需要工作的模型。 –