Como activar ou desactivar a classe usando javascript puro em html
eu tenho um {[[1]}, e eu quero alternar suas classes em hover.
Aqui está o meu código:function a(){
this.classList.toggle('first');
this.classList.toggle('sec');
}
document.querySelector('#container').addEventListener('click', a );
Eu sei que não há nenhum problema no meu html ou css. É que eu tenho que mudar e colocar algo no lugar de click
, mas eu não sei o quê.
35
Author: John Slegers, 2013-11-30
2 answers
Hover event is called " mouseenter "instead of"click".
<script type="text/javascript">
function a(){
this.classList.toggle('first');
this.classList.toggle('sec');
}
document.querySelector('#container').addEventListener('mouseenter', a )
document.querySelector('#container').addEventListener('mouseleave', a )
</script>
39
Author: Tom Chung, 2013-11-30 14:25:10
While Tom Chung'abordagem definitivamente funciona, é melhor dar - mouseenter
e mouseleave
seu próprio manipulador :
var container = document.querySelector('#container');
container.addEventListener('mouseenter', function(){
this.classList.remove('first');
this.classList.add('second');
})
container.addEventListener('mouseleave', function(){
this.classList.add('first');
this.classList.remove('second');
})
.first {
background: green;
}
.second {
background: orange;
}
<div id="container" class="first">
TEST
</div>
Este Violino)
7
Author: John Slegers, 2017-05-23 12:34:17