Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
229 views
in Technique[技术] by (71.8m points)

javascript - Event during a loop

I have this code:

let release = false;
document.querySelector(".class").onmouseup = () => {
    release = true;
}
document.querySelector(".class").onmousedown = (e) => {
    if (e.button === 0) {
        release = false;
        while (!release) {
            console.log("click pressed")
        }
    }
}

But when i click, the event onmouseup is not toggled and the loop doesn't stop. How i can make this is work ?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

As a commenter said : Dont use infinite loops. That will block code execution.

You have almost a working code. Try this :

  let release = false;
  document.querySelector(".class").onmouseup = () => {
    release = true;
    console.log('click released');
  }
  document.querySelector(".class").onmousedown = (e) => {
    if (e.button === 0) {
        release = false;
        console.log("click pressed")
    }
  }

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...