gpt4 book ai didi

鼠标按下时的 JavaScript

转载 作者:可可西里 更新时间:2023-11-01 02:18:58 26 4
gpt4 key购买 nike

var mdflag;
var count = 0;

document.addEventListener("mousedown",mdown,false);
document.addEventListener("mouseup",mup,false);
}


function mdown()
{
mdflag=true;
while(mdflag)
document.getElementById("testdiv").innerHTML = count++;

}
function mup()
{
mdflag = false;
}

我想在鼠标按下时运行代码,我找不到任何建议我可以做 while(mousedown) 所以我尝试为 mousedown 制作一个标志,它在鼠标按下时重置但是我相信 while循环是什么导致我陷入无限循环。

有什么建议可以帮助我实现目标吗?

最佳答案

您必须在某个合理的时间间隔内调用 mousedown 事件。我会这样做:

var mousedownID = -1;  //Global ID of mouse down interval
function mousedown(event) {
if(mousedownID==-1) //Prevent multimple loops!
mousedownID = setInterval(whilemousedown, 100 /*execute every 100ms*/);


}
function mouseup(event) {
if(mousedownID!=-1) { //Only stop if exists
clearInterval(mousedownID);
mousedownID=-1;
}

}
function whilemousedown() {
/*here put your code*/
}
//Assign events
document.addEventListener("mousedown", mousedown);
document.addEventListener("mouseup", mouseup);
//Also clear the interval when user leaves the window with mouse
document.addEventListener("mouseout", mouseup);

关于鼠标按下时的 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15505272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com