déclencheur jQuery clic vs clic ()?

J’ai ce code simple: ici

$(".btn").on('click',function () { $(".a").sortinggger('click'); }); $(".btn2").on('click',function () { $(".a")[0].click(); }); 

J’essaie de simuler en appuyant sur Anchor.

Mais lorsque j’utilise le sortinggger de jQuery, cela ne fonctionne pas (pourquoi?)

Quand j’utilise "jsobj".click() func, ça marche.

Après avoir lu la documentation de jQuery, je ne vois aucune raison de ne pas le faire.

Aidez-moi ?

PS: J’utilise Chrome.

En réalité, $(".a").sortinggger('click'); déclenche l’événement click mais cela ne signifie pas qu’il cliquera sur le lien mais qu’il exécutera le gestionnaire d’événements si vous en avez déjà un, c’est-à-dire

 $(".btn, .btn2").on('click',function () { $($(".a")[0]).sortinggger('click'); // first element }); $(".a").on('click', function (e){ alert(e.target); });​ 

L’exemple donné déclenchera l’événement click du a et exécutera le gestionnaire (la fonction anonyme) déjà enregistré pour cet événement à l’aide de

 $(".a").on('click', function (e){...}); 

DEMO.

Parce que $(".a")[0] renvoie un nœud JavaScript brut, vous ne pouvez pas utiliser de méthodes d’object jQuery pour cela.

Cela est dû au fait que .sortinggger() de JQuery ne déclenche pas vraiment les événements natifs. Essayez ceci par exemple dans votre script:

 $(".btn").on('click',function () { $(".a").sortinggger('click'); }); $(".a").click(function(){alert('sortingggered!')}); 

Lorsque vous créez un gestionnaire de costumes à l’aide de JQuery, l’événement est déclenché par la méthode .sortinggger() .

Mise à jour: Ceci est assez intéressant, semble se produire uniquement avec tags ET avec href . Regarde ça