Javascript 按住LMB事件时的JS/jQuery
我在jQuery/JS中做一些动画,我想根据是否按住LMB(鼠标左键)来更改Pull_Push变量 现在我正在寻找一个示例,但只找到了.mousedown()和.mouseup()事件,但它们似乎在按下/释放按钮时触发。 我需要在这两者之间安排一个活动。(持有时) 你可以查看 这是我想我必须解决的部分:Javascript 按住LMB事件时的JS/jQuery,javascript,jquery,mouseevent,Javascript,Jquery,Mouseevent,我在jQuery/JS中做一些动画,我想根据是否按住LMB(鼠标左键)来更改Pull_Push变量 现在我正在寻找一个示例,但只找到了.mousedown()和.mouseup()事件,但它们似乎在按下/释放按钮时触发。 我需要在这两者之间安排一个活动。(持有时) 你可以查看 这是我想我必须解决的部分: var pull_or_push = "push"; $(document).on("mousedown", function () { var pull_or_push = "pull
var pull_or_push = "push";
$(document).on("mousedown", function () {
var pull_or_push = "pull";
});
$(document).on("mouseup", function () {
var pull_or_push = "push";
});
您认为有什么可能的方法可以实现我想要的吗?考虑使用以在一段时间内高效地运行代码。使用setInterval
或setTimeout
也可以工作,但是requestAnimationFrame
是专门为这类事情制作的
在以下示例中,doSomething
函数仅在调用mousedown后开始运行,然后在调用mouseup后停止运行。但是,您可以通过在这些事件之外调用doSomething
函数,轻松地使代码始终运行。这样,只需检查pull\u或\u push
的状态,就可以在按下LMB时执行某些操作,而在不按下LMB时执行其他操作
还要注意,在mouseup和mousedown回调中,您重新声明了pull\u或\u push
,而不是修改全局变量(只需删除var
)
var pull\u或push=“push”;
var请求;
$(文档).on(“mousedown”,函数(){
pull_或push=“pull”;
doSomething();
});
$(document).on(“mouseup”,函数(){
pull_或push=“push”;
取消动画帧(请求)
});
功能剂量测定法(dt){
log(“做某事”)
请求=请求动画帧(doSomething)
}
考虑使用以在一定时间间隔内高效运行代码。使用setInterval
或setTimeout
也可以工作,但是requestAnimationFrame
是专门为这类事情制作的
在以下示例中,doSomething
函数仅在调用mousedown后开始运行,然后在调用mouseup后停止运行。但是,您可以通过在这些事件之外调用doSomething
函数,轻松地使代码始终运行。这样,只需检查pull\u或\u push
的状态,就可以在按下LMB时执行某些操作,而在不按下LMB时执行其他操作
还要注意,在mouseup和mousedown回调中,您重新声明了pull\u或\u push
,而不是修改全局变量(只需删除var
)
var pull\u或push=“push”;
var请求;
$(文档).on(“mousedown”,函数(){
pull_或push=“pull”;
doSomething();
});
$(document).on(“mouseup”,函数(){
pull_或push=“push”;
取消动画帧(请求)
});
功能剂量测定法(dt){
log(“做某事”)
请求=请求动画帧(doSomething)
}
使用这些事件有什么问题?您拥有的代码将确定鼠标按钮是否按下,您可以在执行其他操作时检查pull\u或push
变量。使用这些事件有什么问题?您拥有的代码将确定鼠标按钮是否按下,在执行其他操作时,只需检查pull\u或\u push
变量即可,谢谢!您的方法对我来说是新的,我目前正在探索.requestAnimationFrame()函数,到目前为止,代码的工作方式是:)+1,感谢您提到我的重新声明错误谢谢!您的方法对我来说是新的,我目前正在探索.requestAnimationFrame()函数,到目前为止,代码的工作方式是:)+1,因为我提到了我的重新声明错误