我正在尝试检测按下了哪个键,并根据我要触发click()
事件。
除了输入外,我的代码适用于所有密钥。
出于某种原因,当我按下"输入"我没有在屏幕上看到任何消息,就像没有按下输入按钮一样。
这是我的代码
$(function(){
$(document).keypress(function(e) {
handleKeyPress(e);
});
function handleKeyPress( e ){
var key = e.which;
alert(key);
if( getIcwsTabIndex() != 1){
return;
}
if( key >= 48 && key <= 57){
var k = key - 48;
$('#icwsDialerNumber' + k).click();
}
if( key == 8){
e.preventDefault();
$('#icwsDialerScreenDel').click();
}
if( key == 13){
e.preventDefault();
$('#icwsDialerNumberDial').click();
}
}
});
我在这里做错了什么?
答案 0 :(得分:0)
测试了您的代码,除了未定义的getIcwsTabIndex
之外,它还适用于chrome所以确认你身边没事
here is a fiddle check the console
$(function(){
$(document).keypress(function(e) {
handleKeyPress(e);
});
function handleKeyPress( e ){
var key = e.which;
console.log(key);
// if( getIcwsTabIndex() != 1){
// return;
// }
if( key >= 48 && key <= 57){
var k = key - 48;
$('#icwsDialerNumber' + k).click();
}
if( key == 8){
e.preventDefault();
$('#icwsDialerScreenDel').click();
}
if( key == 13){
e.preventDefault();
console.log(key);
$('#icwsDialerNumberDial').click();
}
}
});
答案 1 :(得分:-1)
您的代码存在的问题是不是跨浏览器。它应该是:
var key = e.charCode || e.keyCode || 0;