Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Leguim en 22 Febrero 2020, 20:14 pm



Título: [Pregunta]: ¿Como se puede hacer esto?
Publicado por: Leguim en 22 Febrero 2020, 20:14 pm
Estoy tratando de usar dentro de un elemento html

<h6></h6>

esto

<h6 onmouseover="console.log(this.element);">texto</h6>

quiero que me envíe por consola este elemento, nose cual es la palabra correcta... nodo creo que es no estoy muy seguro...

probe con this pero tampoco me sirve...

para que después dicho parametro se pueda editar, this.style.background = 'orange';


Título: Re: [Pregunta]: ¿Como se puede hacer esto?
Publicado por: #!drvy en 22 Febrero 2020, 22:32 pm
Con this te vale.

Código
  1. <h6 onmouseover='this.style.background = "orange"'>
  2.  Prueba de concepto
  3. </h6>

Dicho esto, 2 cosas que te recomendaria.

1 - Usa javascript no obstructivo.
https://es.wikipedia.org/wiki/JavaScript_no_obstructivo

Mucho mejor bindear el evento con puro javascript y evitar problemas de scope.

Código
  1. const elements = document.querySelectorAll('.hover-background');
  2. elements.forEach(function(item) {
  3.    item.addEventListener('mouseover', function(event) {
  4.        this.style.background = 'orange';
  5.    });
  6. });

Código
  1. <h6 class="hover-background">Prueba de concepto</h6>


2 - Si solo vas a cambiar estilos, usa CSS.

Código
  1. .hover-background:hover {
  2.  background: orange;
  3. }

Código
  1. <h6 class="hover-background">Prueba de concepto</h6>




Saludos