11496 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'utilise jQuery pour mes enrichissements et je pensais naïvement que .hover() existait de la même manière qu'existe .click()

Càd sans paramètres.

ainsi
$('.le_lien').click();

génère un vrai click sur la cible comme si on y avait amené la souris et cliquer dessus, mais sans le faire.
Visiblement .hover() n'existe pas sans ses paramètres. Smiley decu

Je cherche donc à faire pareil pour le survol uniquement (ce qui amènerai du coup tous les comportements de :hover, definitions css, et info bulle du title surtout)

contexte :
il se passe une série d'effets au survol d'un li complexe, il y a un lien que je souhaite gérer, et activer au survol de n'importe quoi dans son 'ultimate parent' de li. (Je n'ai pas vraiment envie de faire un lien positionné recouvrant mon li)


Merci
Modifié par elz64 (02 Sep 2010 - 18:19)
?????

Ben donc j'ai rien compris à cete page de doc relue un million de fois..

un petit exemple peut-être.

Le fait de mettre le .hover ralenti tout le reste et ca ne fait vraiment pas l'émulation du hover du lien. du tout.

voila ma fonction:
function portfoliohover (){
jQuery(this).find('img').stop().fadeTo("fast",.7);
jQuery(this).addClass('hover');
var activation = jQuery(this).find('a.open-tray');
 jQuery(activation).hover();
}


le markup
[code]
<li class="pair">

<div class="item-folio">
<h3 class="titre-folio">xxxxxxxxxxxx</h3>

<div class="item-short">
<div class="action-folio">
<a title="grande vue de : xxxx -" rel="fancyslide" href="/assets/galleries/57/snap-xxxx-1024.jpg" class="full_slide titleized">+ grand</a>


<a title="voir la description de xxxxxx -" href="#" class="open-tray" style="display: inline;">description</a>
</div>
<div class="vignette-folio">
<img title="vue de : xxxxxx" alt="Zlatic Construction" src="/assets/snippets/phpthumb/phpThumb.php?src=/assets/galleries/57/snap-xxx-1024.jpg&amp;h=100&amp;w=352&amp;zc=1&amp;q=100&amp;ra=15" style="opacity: 1;">
</div>


</div>
<div class="details-folio" style="display: none;">
<h3>Projet</h3>
<p>bla bla </p>


</div>

</div>
</li>
Oups ! Désolé mais j'avais lu ta question un peu vite et zappé "Càd sans paramètres"

Effectivement je ne crois pas que ça existe...


Edit: cela dit il suffit de ne pas utiliser le title du lien mais un SPAN qui serait au départ en display:none; ce qui en plus te permettra de le styler.
Modifié par Heyoan (02 Sep 2010 - 20:23)
elz64 a écrit :
oui mais la ce devient une vraie usine à gaz...
C'est pas faux. Smiley langue

Pour ce qui est du fond de ta question je ne suis pas une pointure en jQuery donc tu auras peut-être (sûrement ?) des réponses plus intéressantes à venir...
Regardez plutot un coup du côté de trigger et triggerHandler Smiley cligne

Un truc du genre devrait marcher :

$("#monDiv").trigger('mouseenter');

ou

$("#monDiv").triggerHandler('mouseenter');


Le deuxième, empêche l'événement qui suit de celui que tu viens de déclencher, de s'exécuter.

P.ex un click sur un lien, est sensé retourner vers la page indiquée dans le href, mais avec triggerHandler, l'événement par défaut du lien ne s'exécutera pas.


$("#monLien").trigger('click');