我试图检测在将光标移到特定元素上时是否按下了Shift键。该函数将触发,但是只有在我首先单击另一个元素之后才触发。有什么办法可以解决此问题?我尝试将焦点设置在文档和元素上,并尝试创建伪单击功能,但到目前为止没有任何效果。
例如,以下代码仅在我单击页面上的另一个元素后才有效:
$("#selector").mouseover(function(e){
if(e.shiftKey) {
console.log("the shift key is pressed");
}
});
在此先感谢您提供任何信息。
最佳答案
在按键事件上检查一下:
$(document).keypress(function (e) {
if(e.shiftKey) {
pressed = true; // pressed is a global varialbe. Be carefull of the scope
}
}
然后在键盘上:
$(document).keyup(function(event){
pressed = false;
});
然后做:
$("#selector").mouseover(function(e){
if(pressed) {
console.log("the shift key is pressed");
}
});
或反过来:
$("#selector").mouseover(function(e){
isover = true;
});
和
$(document).keypress(function (e) {
if(e.shiftKey) {
alert("do something")
}
}
关于jquery - Shift +鼠标悬停与jQuery,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1441086/