2010-05-07 3 views
0

Je veux appeler la fonction javascript en utilisant l'événement mousehover jQuery.Appeler la fonction javascript sur le Mousehoever et le mouseout en utilisant jQuery

Voici la seule fonction. J'essaie d'utiliser cette fonction ... mais cela ne semble pas fonctionner.

jQuery('a[href="HIGHLIGHT_CREATELINK"]').mouseover(ShowHighlighter("deleteHighlight","highlight"+ randomCount + ");) ; 
     jQuery('a[href="HIGHLIGHT_CREATELINK"]').mouseout('javascript:HideContentFade(\"deleteHighlight\");') 

aidez-moi s'il vous plaît dans ce.

merci.

Répondre

1

Il y a une méthode abrégée pour l'événement vol stationnaire: http://api.jquery.com/hover/

jQuery('a[href="HIGHLIGHT_CREATELINK"]').hover(function() { 
    // this is the mouseover handler 
    ShowHighlighter("deleteHighlight","highlight"+ randomCount + "); 
}, 
function() { 
    // this is the mouseout handler 
    HideContentFade("deleteHighlight"); 
}); 
2

Vous pouvez utiliser la fonction hover pour raccourcir la syntaxe:

jQuery('a[href="HIGHLIGHT_CREATELINK"]').hover(function(evt) { 
    ShowHighlighter("deleteHighlight", "highlight" + randomCount); 
}, function(evt) { 
    HideContentFade("deleteHighlight"); 
}); 
0

Essayez de faire ceci:

$('a[href="HIGHLIGHT_CREATELINK"]').mouseover(function(){ 
      ShowHighlighter("deleteHighlight","highlight"+ randomCount + "); 
    }) ; 
    $('a[href="HIGHLIGHT_CREATELINK"]').mouseout(function(){ 
      HideContentFade("deleteHighlight"); 
    }); 

Pour une raison quelconque lors de la liaison d'un événement à un élément jQuery, vous devez utiliser la syntaxe ci-dessus plutôt que d'essayer et lier votre fonction directement à elle.

+2

feux mouseover sur chaque mousemovement, « mouseenter » & « mouseleave » sont peut-être les meilleurs événements – jAndy

+0

Le _reason_ vous avez mentionné est parce que la fonction qu'il veut être invoqué nécessite des arguments spécifiques, il doit donc l'envelopper dans une autre fonction. jQuery ne peut pas deviner quels arguments 'ShowHighlighter' attend. De plus, le code présenté dans la réponse invoque 'ShowHighlighter' et transmet sa valeur de retour à la fonction' mouseover', ce qui est clairement faux. – jweyrich

+0

Pourquoi est-ce faux? – CeejeeB

0

Vous devez joindre vos fonctions dans une fonction anonyme

quelque chose comme ça

jQuery('a[href="HIGHLIGHT_CREATELINK"]').mouseover(function() { 
    ShowHighlighter("deleteHighlight","highlight"+ randomCount + "); 
}); 

jQuery('a[href="HIGHLIGHT_CREATELINK"]').mouseout(function() { 
    HideContentFade("deleteHighlight"); 
}); 

si vous ne ce faire, la fonction sera exécutée immédiatement, au lieu d'être ajouté en tant que gestionnaire de l'événement.

+0

feux de souris sur chaque mousemovement, 'mouseenter' & 'mouseleave' sont peut-être les meilleurs événements – jAndy

Questions connexes