检测是否按下了Shitfkey

时间:2017-10-27 13:56:02

标签: javascript mouseevent

我在检测是否按下[shiftkey]时遇到了一些问题,因为它总是被改变。

enter image description here

如您所见,现在va attribut具有MouseEvents。

file.js

function createInfobar(elem, event) {
 if( event.va.shiftKey ){//...}

}  

上面的代码以上工作得很好。但随后它开始将事件检测为undefined。然后我改为event.xa.shiftkey并且它起作用了。
现在,检查控制台上的event,它再次VA.ShitfKey ......

我该如何解决?有没有办法在所有浏览器中使用它?

3 个答案:

答案 0 :(得分:0)

尝试以下代码



function isKeyPressed(event) {
var x = document.getElementById("out");
if (event.shiftKey) {
    x.innerHTML = "The SHIFT pressed!";
} else {
    x.innerHTML = "The SHIFT NOT pressed!";
}
}

<input type="text" onkeydown="isKeyPressed(event)">
<p id="out"></p>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

试试这个

document.addEventListener("keydown", function(event) {
    if (event.shiftKey) {
        console.log("shift key")
    } else {
        console.log("some other key")
    }
});
<p id="result"></p>

答案 2 :(得分:0)

这是一个捕捉密钥的工作片段。 KEYDOWN。

请务必先点击该代码段,以便接收键盘输入。

&#13;
&#13;
let elshift = document.querySelector(".shift-pressed");


document.addEventListener("keydown", function (ev) {
  if (ev.key === "Shift")
    elshift.innerText = "Shift DOWN";
});
document.addEventListener("keyup", function (ev) {
  if (ev.key === "Shift")
    elshift.innerText = "Shift UP";
});
&#13;
<div class="shift-pressed">
  Please note click this first to make snippet have focus..
</div>
&#13;
&#13;
&#13;