在 keyEvent 中,如何捕获键“*”?

In keyEvent, How can I catch the key " * "?

    if(keyEvent.keyCode == 8){
        $scope.erase();
    }

    else if(keyEvent.keyCode === 107){
    console.log("+");
    $scope.inputToCal('+')
    }

    else if(keyEvent.keyCode === 109){
    console.log("-");
    $scope.inputToCal('-')
    }

    else if(keyEvent.keyCode === 16){
    console.log("*");
    $scope.inputToCal('*')
}
    }

    else if(keyEvent.keyCode === 111){
    console.log("/");
    $scope.inputToCal('/')
    }

我试图制作一个计算器来捕捉 "keydown"。

我能抓到这些键,"+","-","/"。

这些按键代码是“107”、“109”、“111”

但是,有一个问题。

我抓不到键“*”。

有什么办法可以解决这个问题吗?

或者,我是否必须定义新数组来捕获键 "Shift"(keyCode:16) 和 "8"(keyCode:56) ?

抱歉,我是 keyEvent 的新手。 我在等解决方案... 请帮帮我!!

您必须单独处理 shift 键按下。

function handleKeyDown(e) {
 var shiftPressed=0;
 var event = (e==null ? event:e);
 shiftPressed=event.shiftKey;
 if ((shiftPressed)&& (event.keyCode==56)) 
   alert ("You pressed * key");
 return true;
}

演示:http://jsfiddle.net/soxj0v54/1/

对于您的代码,它看起来像-

else if(keyEvent.keyCode === 56 && keyEvent.shiftKey){
    console.log("*");
    $scope.inputToCal('*')
}