J'ai un lien:
<ul id="titleee" class="gallery">
<li>
<a href="#inline" rel="prettyPhoto">Talent</a>
</li>
</ul>
et j'essaye de le déclencher en utilisant:
$(document).ready(function() {
$('#titleee').find('a').trigger('click');
});
Mais ça ne marche pas.
J'ai aussi essayé: $('#titleee a').trigger('click');
Modifier :
J'ai besoin de déclencher ce qu'on appelle ici <a href="#inline" rel="prettyPhoto">
location.href($('#titleee').find('a').attr("href"));
?$('#titleee a')[0].click();
. En d'autres termes, utilisez la méthode de clic DOM, pas celle jQuery. Upvote Graham Hotchkiss !$('ul#titleee li a[href="#inline"]').click();
Réponses:
Si vous essayez de déclencher un événement sur l'ancre, le code dont vous disposez fonctionnera. J'ai recréé votre exemple dans jsfiddle avec un gestionnaire d'événements ajouté afin que vous puissiez voir que cela fonctionne:
Essayez-vous d'amener l'utilisateur à naviguer jusqu'à un certain point de la page Web en cliquant sur l'ancre, ou essayez-vous de déclencher des événements qui lui sont liés? Peut-être que vous n'avez pas réellement lié l'événement de clic à l'événement?
Aussi ceci:
est l'équivalent de ceci:
Pas besoin d'appeler find. :)
la source
Désolé, mais le gestionnaire d'événements n'est vraiment pas nécessaire. Ce dont vous avez besoin, c'est d'un autre élément de la balise sur lequel cliquer.
Jquery:
Tout dépend de ce que vous cliquez et ce n'est pas la balise mais la chose qu'elle contient. Malheureusement, le texte nu ne semble pas être reconnu par JQuery, mais il l'est par vanilla javascript:
Ou en accédant à l'objet jQuery en tant que tableau
la source
.click()
c'est précisément ce dont j'avais besoin!Étant donné que cette question est classée n ° 1 dans Google pour "déclencher un clic sur un
<a>
élément" et qu'aucune réponse ne mentionne réellement comment vous faites cela, voici comment vous le faites:Explication: vous déclenchez un
click
sur l'élément html sous-jacent, pas sur l'objet jQuery .Vous êtes les googleurs bienvenus :)
la source
Avec le code que vous avez fourni, vous ne pouvez vous attendre à rien. Je seconde @mashappslabs: ajoutez d'abord un gestionnaire d'événements:
puis déclenchez votre événement:
et vous devriez voir le message dans votre console.
la source
trigger
, mais l'action de la balise ne se produit pas. C'est comme si l'événement ne se propageait pas à l'élément DOM associé. La réponse de @GrahamHotchkiss est la seule qui fonctionne de manière fiable pour moi.Si vous essayez de déclencher un événement sur l'ancre, le code dont vous disposez fonctionnera.
OU
OU
la source
Eh bien, vous devez d'abord configurer l'événement de clic, puis vous pouvez le déclencher et voir ce qui se passe:
la source
Voici la démo pour déclencher un événement
la source
Pour les liens, cela devrait fonctionner:
la source
Cela ne répond pas exactement à votre question, mais vous obtiendrez le même résultat avec moins de maux de tête.
J'ai toujours mes méthodes d'appel d'événements de clic qui contiennent toute la logique que je voudrais exécuter. Afin que je puisse simplement appeler la méthode directement si je veux effectuer l'action sans un clic réel.
la source
Vous devez appeler la
.click()
méthode native de l'élément ou utiliser l'createEvent
API.Pour plus d'informations, veuillez visiter: https://learn.jquery.com/events/triggering-event-handlers/
la source