Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/01/2014, 11:24
Avatar de gachon
gachon
 
Fecha de Ingreso: septiembre-2004
Ubicación: En Google
Mensajes: 462
Antigüedad: 20 años, 2 meses
Puntos: 3
siga el envento hover despues de añadir una clase con jquery

Muy buenas!!!
Antes de nada se que este planteamiento no es bueno, pero ya que lo tengo hecho así quiero saber porque no me lo hace y cual es la solución.
Tengo una funcion en el siguiente enlace con onclick, pongo el codigo del html :

Código HTML :
Código PHP:
<span id="seguir45320140118120117">
   <
a title="" href="javascript:void(0)" data-siguiendo="0" onclick="seguira('seguir45320140118120117','4','26069')" class="usuario-seguir">
      <
img src=images/ico-seguir.png">Seguir</a>
</span> 
Luego al hacer click tengo la siguiente funcion seguira()
Código Javascript :
Código PHP:
function seguira(idelemento,yo,elotro){

   
$this=$('#'+idelemento+' a');

   
$this.bind("hover mouseover click"); //esto no me hace nada

   
var siguiendoglobal=!$this.data('siguiendo');

   if(
siguiendoglobal==1){
         var 
seguir="yes";
         var 
url=dominio+"acciones/seguir/";
   }else{
      var 
seguir="eliminar";
      var 
url=dominio+"acciones/noseguir/";
   }

   $.
post(
      
url
   { 
      
seguir:seguir,
      
id_usuario:yo
      
id_seguido:elotro 
   
},
         function(
data) {
            if(
data=="ok"){

               if(
siguiendoglobal==1){

                  
$this
                  
.text('Siguiendo')
                  .
removeClass()
                  .
addClass("siguiendo")
                  .
bind("mouseenter mouseover hover");//ni puto caso
               
}
               else{

                  
$this
                  
.html('<img src="images/ico-seguir.png" />Seguir</a>')
                  .
removeClass()
                  .
addClass("usuario-seguir")
                  .
unbind('mouseenter mouseleave');
               }

               

                  
$this.data('siguiendo',+siguiendoglobal);

               
            }
            
         });
   
}; 
Esto lo que hace es enviar los datos por post si esta siguiendo a una persona o no. Todo esto funciona correctamente. Cuando no lo esta siguiendo le añade una clase siguiendo y un texto y lo contrario.

Que pasa ahora que cuando por esa funcion le añado la clase .siguiendo esta funcion autoejecutable no me la coge. Solamente me coge cuando ha cargado la pagina con la clase siguiendo por defecto pero si se lo añado con la funcion no me lo coge.

Esta es la funcion autoejecutable:

Código Javascript :
Código PHP:
$(document).on('ready',function(){
   $(
'.siguiendo').hover(function(e){
         $(
this)
         .
addClass('no-seguir')
         .
text('Dejar de Seguir');

      },function(
e){

         $(
this)
         .
removeClass('no-seguir')
         .
text('Siguiendo');

   });

}); 
Pues esto que me parecia una tonteria llevo dos horas probando trigger y bind y nada. La verdad me ha dejado noqueado.

Amigos espero puedan ayudarme.