2009-10-28 4 views
3

Dans jQuery trigger ('click') et click() semblent déclencher uniquement l'événement onclick. Je veux simuler un clic d'un tag sans un événement onclick.Comment déclencher le clic natif (href) d'un tag avec jQuery ou mootools?

Ce que j'essaie d'atteindre est d'afficher une boîte à lumière à l'atterrissage. La lightbox est attachée à un tag qui doit être cliqué.

Des idées?

+0

Alex , le plugin que j'utilisais était un peu trop compliqué pour appeler directement ... J'ai trouvé un plugin lightbox qui peut être appelé directement en boîte, slimbox et problème résolu. Merci pour la contribution – eakkas

Répondre

0

Essayez ceci:

window.location = $('a#go').attr('href')

1

L'événement onclick est tout ce qu'il ya. Si elle bouille tout le chemin sans s'arrêter, elle vous amènera à l'emplacement du lien.

Vous pourriez avoir besoin de quelque chose pour l'empêcher de bouillonner. Vous pouvez soit return false; ou e.preventDefault() pour arrêter la soumission du formulaire, et vous pouvez utiliser e.stopPropagation() et e.stopImmediatePropagation() afin de l'empêcher de bouillonner.

Il y a des chances, il y a un moyen d'activer le plugin lightbox sans "fausser-cliquer" un lien.

0

Résolu. Slimbox for mootools prend en charge l'appel de la lightbox directement sans avoir besoin d'un lien.

0

La plupart des lightbox ont un support pour les lancer via JavaScript ainsi que de cliquer sur un lien. Slimbox est définitivement une belle lightbox, un bon choix!

2

encore, pour répondre à votre question initiale, au moins dans la mesure où Mootools est concerné: vous pouvez simuler un clic/feu la fonction mis à manipuler (le cas échéant) par ceci:

$("someid").fireEvent("click"); 
1
//I use, when want show image in lightbox by original image or thumbnails list 

//simulate click on lightbox image by click another place with same image url (hack pro kliknuti na spravne url lightboxu) 
$('#simulate_click').click(function(event){ 

    //get url from simulate link (zjistime url odkazu) 
    var odkaz = $(this).attr("href"); 

    //look for real lightbox link with the same url (najdeme lightbox odkaz) 
    var lightOdkaz = $('#rc-carousel ul li a[href="'+odkaz+'"]'); 

    //simulate clik on that lightbox link (klikneme na nej) 
    lightOdkaz.trigger("click"); 

    //stop propagation of click on original link (zabranime propagaci) 
    return false; 
    //event.stopPropagation(); 
    }); 
+1

Ce serait beaucoup plus facile pour nous si vous avez utilisé l'anglais dans nos commentaires. –