如何在按下" Shift"键?

时间:2014-06-20 13:25:07

标签: javascript

我想用按键“Shift”画直线。按“Shift”后我想将光标设置在45/90度角的线上。在Mouse_Move事件上画一条线。 图解上我想要这样。 enter image description here

为此,我编写了如下代码:

if (isShiftKeyPressed) {

    endX = evt.X;
    endY = evt.Y;
    var deltaX = endX -startX;
    var deltaY = endY - startY;
    var angleInRadian = Math.atan2(deltaY, deltaX);
    var angleInDegree = angleInRadian * 180 / Math.PI;//error in this line 

    if (deltaX > 0 && deltaY > 0) {
        if (angleInDegree > 45 && angleInDegree < 90) {

          UpdateLastPosition(endX,startY);
        }
        if (angleInDegree < 45 && angleInDegree > 0) {

            UpdateLastPosition(startX,endY);
        }
    }

1 个答案:

答案 0 :(得分:1)

你问如何判断换档键是否已关闭。

如果在生成事件时Shift键已关闭,则

evt.shiftKey将为true,如果不是,则为false

所以你的

![if (isShiftKeyPressed) {

将是

if (evt.shiftKey) {
    // The shift key was down when the event was generated
}
else {
    // It wasn't
}

(我认为!之前的if是一个错字。)

Examplesource