2010-04-23 2 views
3

Je dois déclencher par programmation un événement click géré par jQuery. Voici le code actuel:jQuery - Événement déclencheur par programme

var $thumbs = $('#PhotoGalleryThumbs .tile'); 
var $zoom = $('#PhotoGallery #PhotoGalleryZoom img'); 
var $description = $('#PhotoGallery #PhotoGalleryDescription'); 

$thumbs.click(function(event) { 
    event.preventDefault(); 
    var $thumb = $(this); 
    $thumb.addClass('selected') 
     .siblings().removeClass('selected'); 
    $zoom.attr('src', $thumb.children('a').attr('href')); 
    $description.html($thumb.find('img').attr('alt')); 
}); 

J'ai un bloc mental de travail comment créer une fonction hors du code de gestion des événements et appeler arbitrairement pour un élément dans l'objet $thumbs.

Répondre

5
$thumbs.click(); 

Cela déclencherait l'événement click. Est-ce ce que vous cherchez?

+0

En option, vous pouvez cibler spécifiquement un élément donné, plutôt que tout l'ensemble d'entre eux. '$ ('# yourTarget'). click();' –

+0

$ thumbs est une collection d'objets. Je veux sélectionner un objet spécifique et appeler l'événement 'click()' sur cela. – Sonny

+0

comme S Pangborn a dit, $ ('# yourSpecificElement'). Click() –

2

similaires à la suggestion précédente de

$($thumbs[7]).click(); 

vous pouvez utiliser

$thumbs.eq(7).click(); 

Pour plus de précisions, d'indexation des tableaux dans une collection jQuery vous donne l'élément DOM à cette position, alors que .eq(n) vous donne un Nouvel objet jQuery qui référence uniquement l'élément indexé.

http://api.jquery.com/eq/

+0

Merci Geoff, je vais garder celui-là dans ma poche arrière à coup sûr! – Sonny

Questions connexes