Javascript 鼠标悬停和多个函数中的变量时按下
在按住“A”键的同时移动光标时,我希望设置一个变量标志Javascript 鼠标悬停和多个函数中的变量时按下,javascript,jquery,variables,mouseover,keydown,Javascript,Jquery,Variables,Mouseover,Keydown,在按住“A”键的同时移动光标时,我希望设置一个变量标志 $(document).on("mousemove", function () { $(document).keydown(function(e) { if(e.which == 65){ var $mLeft = '3px', $mTop = event.pageY - $sidebarRightDisp; } else {
$(document).on("mousemove", function () {
$(document).keydown(function(e) {
if(e.which == 65){
var $mLeft = '3px',
$mTop = event.pageY - $sidebarRightDisp;
} else {
var $mLeft = event.pageX - $sidebarLeftDisp,
$mTop = event.pageY - $sidebarRightDisp;
}
});
var $boxStyleAct = 'left:' + $mLeft + 'px;top:' + $mTop + 'px' + ';';
var $boxAct = '<li style="' + $boxStyleAct + '"></li>';
$(".boxes").append($boxAct);
});
$(document).on(“mousemove”,函数(){
$(文档).keydown(函数(e){
如果(e.which==65){
var$mLeft='3px',
$mTop=event.pageY-$sidebarRightDisp;
}否则{
var$mLeft=event.pageX-$sidebarLeftDisp,
$mTop=event.pageY-$sidebarRightDisp;
}
});
var$boxStyleAct='左:'+$mLeft+'px;顶:'+$mTop+'px'+';';
var$boxAct=';
$(“.box”).append($boxAct);
});
顺便说一下,我真的不能在keydown函数中使用x“//做一些事情
非常感谢。您的
x
变量是在if语句的范围内定义的。你可以把它搬出去。您还在mousemove上添加了一个事件侦听器,这不太好
你可以这样做
var aPressed=false;
var键按下=假;
var sidebarRightDisp=5;
var sidebarLeftDisp=5;
$(文档).mousemove(函数(事件){
如果(!按键)
返回;
var-mLeft,mTop;
如果(已发布){
mLeft='3px';
mTop=event.pageY-sidebarRightDisp;
}否则{
mLeft=event.pageX-sidebarLeftDisp;
mTop=event.pageY-sidebarRightDisp;
}
var-boxStyleAct='左:'+mLeft+'px;顶:'+mTop+'px'+';';
var-boxAct=';
$(“.box”).append(boxAct);
}).keydown(功能(e){
按键=真;
A压力=e,其中=65;
}).keyup(功能(e){
按键=假;
aPressed=false;
});代码>
试试这个
var-AkeyPressed=false;
var status=document.getElementById('status');
$(document).on('mousemove',function(){
if(AkeyPressed==true){
log(“按键时鼠标移动”);
}
否则{
console.log(“未按下的键”);
}
});
$(文档).keydown(函数(e){
如果(e.which==65){
AkeyPressed=true;
//var x=真;
}
否则{
AkeyPressed=false;
//var x=假;
}
});
$(文档).keyup(函数(e){
AkeyPressed=false;
});
window.focus()代码>
我只是更改代码,为您展示我想要的更好的示例。我不确定你的解决方案是否有效如果没有看到完整的HTML/CSS,很难说出你需要做什么。更新后的版本是否符合您的要求?我只有一个
,我不想在它的内部添加
!但是我改变了(!keypressed)
部分。我将其更改为if(按键){var mLeft,mTop;if(aPressed){mLeft='3px';mTop=event.pageY-sidebarRightDisp;}else{mLeft=event.pageX-sidebarLeftDisp;mTop=event.pageY-sidebarRightDisp;}else{mLeft=event.pageX-sidebarLeftDisp;mTop=event.pageY-sidebarRightDisp;}
太好了!听起来你不需要keyPressed变量。你可以去掉它和else部分,结果应该是一样的。