Javascript在另一个函数中检测“Shift”键

时间:2012-06-19 12:53:05

标签: javascript

我在Flash电影(使用ExternalInterface)的html页面中调用Javascript函数,我想知道用户在调用函数时是否按下Shift键。

例如,如果我通过鼠标单击调用该函数,因为我可以传递事件并检查'if(event.shiftKey)',这似乎是直截了当的。我没有要检查的事件!

非常感谢

克里斯

1 个答案:

答案 0 :(得分:7)

keydownkeyup事件附加到页面上的document,然后收听Shift键。

var shiftDown = false;
var setShiftDown = function(event){
    if(event.keyCode === 16 || event.charCode === 16){
        window.shiftDown = true;
    }
};

var setShiftUp = function(event){
    if(event.keyCode === 16 || event.charCode === 16){
        window.shiftDown = false;
    }
};

window.addEventListener? document.addEventListener('keydown', setShiftDown) : document.attachEvent('keydown', setShiftDown);
window.addEventListener? document.addEventListener('keyup', setShiftUp) : document.attachEvent('keyup', setShiftUp);