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

212
Views
.on[nombre del evento] frente a addEventListener

Intenté crear un controlador de copias pero no pude.

 <!DOCTYPE html> <html> <head> <meta charset = "utf-8"> <title>test</title> </head> <body> <h1>Test</h1> <span class = "test"></span> <script type = "text/javascript" src = "script.js"></script> </body> </html>
 function handleCopy() { document.querySelector("span.test").innerText = "Copied"; } window.oncopy = handleCopy;

y copio de index.html, pero js no cambia el intervalo. pero cambiando el código js a este, el lapso es el cambio.

 function handleCopy() { document.querySelector("span.test").innerText = "Copied"; } window.addEventListener("copy", handleCopy);

¿Por qué sucedió eso? Lo siento, mi pésimo inglés :(

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

0

Esto sucede porque no hay una propiedad oncopy en el objeto de window . Si abriera la consola y escribiera "window.onco", no hay oncopy en las sugerencias. En la documentación esto no está muy claro, pero al echar un vistazo a los controladores de eventos , el evento oncopy no aparece en la lista, ni se puede encontrar en los siguientes controladores de eventos implementados desde otra lista. En cambio, puede encontrarlo en la lista de eventos , que en el prólogo dice: " Escuche estos eventos usando addEventListener() ". Parece que el artículo necesita una pequeña corrección, ya que el prólogo también dice que estos eventos se pueden adjuntar con la propiedad oneventname , obviamente, eso no es cierto en todos los casos.

about 4 years ago · Juan Pablo Isaza Report

0

El evento de copy no es un GlobalEventHandler y, por lo tanto, no tiene su propio controlador IDL disponible en window .
Este evento está definido para activarse en un HTMLElement y ahí es donde se puede acceder al IDL oncopy :

 console.log("oncopy" in HTMLElement.prototype);

Y debido a que es un DocumentAndElementEventHandler , también lo encontrará en document .

Entonces, si desea capturar el evento en la window , será mediante burbujeo y gracias al método addEventListener() .

 addEventListener("copy", (evt) => { console.log("copied"); });
 <input value="copy me">

De lo contrario, puede usar el controlador de eventos del document o cualquier HTMLElement principal (por ejemplo document.body ):

 document.oncopy = (evt) => { console.log("copied"); }
 <input value="copy me">

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!