Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

129
Views
¿Por qué mouseout y mouseleave siempre se activan?

Realmente no entiendo por qué el elemento p siempre está oculto (y, por lo tanto, por qué el mouseout siempre se dispara):

 const canvas = document.querySelector("canvas"); const infoBox = document.querySelector("#info-box") canvas.addEventListener("mousemove", evt => { evt.preventDefault() infoBox.style.display="block" infoBox.style.position="absolute" infoBox.style.top= evt.clientY+"px" infoBox.style.left=evt.clientX+"px" console.log("moved") }) canvas.addEventListener("mouseout", evt => { evt.preventDefault() infoBox.style.display="none" console.log("exit") }, false)
 canvas{ border-width: 0px; border-color:#212121; background-color: blue; }
 <canvas></canvas> <div id="info-box" style="display: none;"><p>Hello</p></div>

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

La salida ocurre cada vez que aparece el cuadro de información. Agregar un desplazamiento al div #info-box significa que el mouse no cree que haya abandonado el lienzo.

 const canvas = document.querySelector("canvas"); const infoBox = document.querySelector("#info-box"); const mouseOffset = 2; canvas.addEventListener("mousemove", evt => { evt.preventDefault() infoBox.style.display = "block" infoBox.style.position = "absolute" infoBox.style.top = evt.clientY + mouseOffset + "px" // add an offset here infoBox.style.left = evt.clientX + mouseOffset + "px" // and here console.log("moved") }) canvas.addEventListener("mouseout", evt => { evt.preventDefault() infoBox.style.display = "none" console.log("exit") }, false)
 canvas { border-width: 0px; border-color: #212121; background-color: blue; }
 <canvas></canvas> <div id="info-box" style="display: none;"> <p>Hello</p> </div>

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!