2010-01-06 3 views
1

J'utilise jquery pour implémenter la délégation d'événements sur ma page. Je définis un gestionnaire de clic pour l'élément de niveau supérieur, mais seulement veux faire quelque chose « sur mesure » si le clic est tombé sur un élément de certaine classe:appelant le gestionnaire d'événements par défaut à partir de mon gestionnaire de clic personnalisé?

$("#myDivWithManyLinks").click(function(e){ 
    var target = $(e.target); 
    if (target.hasClass('myClass123') 
    { 
     // do my "custom thing" 
     return false; 
    } 
    else 
    { 
     // XXX let the click be handled by the click handler that would otherwise get it 
    } 

Comment puis-je faire « XXX »?

Merci pour toute aide,

lara

+0

Qu'est-ce que vous signifie "comment puis-je faire XXX"? XXX s'exécutera si la cible n'a pas la classe myClass123. – David

Répondre

0

écrire une fonction de gestionnaire et de référence dans le monde:

$("#myDivWithManyLinks").click(function(e){ 
    var target = $(e.target); 
    if (target.hasClass('myClass123') 
    { 
     // do my "custom thing" 
     return false; 
    } 
    else 
    { 
     handler(e); 
    } 
    }); 
    function handler(e){ 
     // what you want all links that don't have your special class to do 
    } 
0

Qu'en est-preventDefault():

$("#myDivWithManyLinks").click(function(e){ 
    var target = $(e.target); 
    if (target.hasClass('myClass123') 
    { 
     e.preventDefault(); 
     //do custom stuff 
    } 

    }); 
Questions connexes