2010-08-26 6 views
1

J'ai utilisé un script que j'ai trouvé. Là où il devrait faire quelque chose lorsque la souris est positionné sur l'élémentExécuter javascript

$this.hover(
     function() { 
      tip.html("<p>" + tTitle + "</p>"); 
      setTip(tTop, tLeft); 
      setTimer(); 
     }, 
     function() { 
      stopTimer($this); 
      tip.hide(); 
     } 
    ); 

Mais je veux l'exécuter, sans que je dois passer la souris sur l'élément?

Comment puis-je faire cela?

+0

Ce script ne dit rien à personne. Tu devrais nous montrer plus pour avoir une bonne réponse. –

Répondre

1

Vous pouvez tirer le code de la fonction:

tip.html("<p>" + tTitle + "</p>"); 
setTip(tTop, tLeft); 
setTimer(); 
1

Pour déclencher le vol stationnaire sur:

$this.trigger('mouseover'); 

Pour déclencher le vol stationnaire sur:

$this.trigger('mouseout'); 

Un autre choix est pour déplacer la définition en dehors du rappel, et le faire comme ceci:

function onMouseOver() { 
    tip.html("<p>" + tTitle + "</p>"); 
    setTip(tTop, tLeft); 
    setTimer(); 
} 

function onMouseOut() { 
    stopTimer($this); 
    tip.hide(); 
} 

// bind the hover event 

$this.hover(onMouseOver, onMouseOut); 

// or use them manually: 

onMouseOver(); 
onMouseOut(); 
+0

'.hover()' correspond à 'mouseneter' et' mouseleave', plutôt que 'mouseover' et' mouseout' :) –

+0

Je suis à peu près sûr que déclencher 'mouseover' et' mouseout' déclencherait les événements hover. –

1

J'ai essayé d'extraire le code de la fonction, mais cela n'a pas aidé. Mais le problème était que j'ai essayé d'appeler une fonction qui n'avait pas encore été initialisée.

Désolé pour la gêne occasionnée et merci :)

0

Si vous souhaitez l'exécuter en dehors du vol stationnaire assurez-vous d'inclure la fonction appelle dans un $ (document) .ready ou vos éléments ne sera pas prêt sans DOM chargé

Questions connexes