O que há de errado com o $(this) ?
Você tem um manipulador de evento que adiciona uma classe a um elemento DOM, espera um segundo usando setTimeout() e, em seguida, remove essa classe veja o script:
- // Exemplo do uso do this na jquery
- $(document).ready(function(){
- $('.elemento').click(function(){
- $(this).addClass('clicado');
- setTimeout( function(){
- $(this).removeClass('clicado');
- }, 1000);
- });
- });
SÉRIO?
SIMMMMM
Você confirmou que o código dentro de setTimeout() está sendo chamado, mas ele não faz nada.
Presta atenção, você já usou o removeClass() antes e confirmou que o código está correto ou seja esse método ai FUNUNNCIAAA meu =[ então qual é o problema??
Você está usando $(this) da mesma forma em ambos os lugares, mas ele parece não funcionar dentro da chamada a setTimeout()...
Justamente ele não vai funcionar, pois o $(this) agora não faz mais sentido... afinal... this oq ?
Mas e ai? Como eu resolvo essa JÓÇA?
Solução:
Salve this em uma variável antes de chamar setTimeout(); tipo assim:
" var $elemento = $(this) "
Mas e ai pq isso acontece? O que é o $(this), e por que ele nem sempre funciona?
Fica mais fácil entender se separarmos em duas partes, $() e this.
O $() parece misterioso, mas não é: trata-se apenas de uma chamada de função. o $ é uma referência para a função Jquery; então, $() é simplesmente um caminho mais curto de se escrever Jquery(). É apenas uma chamada normal de função Javascript que acontece para retornar um objeto.
Bem pessoal... valeu pela atenção e até a próxima.
It really taught you a good use of simple... gj
ResponderExcluir