2010-12-07 6 views
0

Dans ma fonction de jquery j'ai utilisé pour déclencher la fonction de clic de li et img séparément, mais malheureusement quand je clique sur l'image. fonction Cliquez pour la liste déclenche égalementFonction de déclenchement dans jquery?

HTML CODE:

<li id="list_id">List_text<img src='image.jpg' id="img_id"></li> 

fonction Jquery:

 
$("#list_id").click(function(){ 
alert('List is clicked'); 
}); 

$("#img_id").click(function(){ 
alert('Image is clicked'); 
}); 

Une fois que je clique sur l'image à la fois la fonction déclenche.

* Question: * Je dois déclencher seulement cliquer fonction pour l'image une fois que je clique sur l'image et de déclencher la fonction de clic pour la liste une fois que je clique sur la liste

+0

je quelque part lire stopPropagation est mieux que le retour faux, je vais vous obtenir le lien – kobe

Répondre

2

Vous devez stop the event propagation:

$("#img_id").click(function(evt){ 
    alert('Image is clicked'); 
    evt.stopPropagation(); 
}); 
+0

Encore il appelle la fonction de clic de li. Depuis que je reçois li et img d'ajax. Je pense que cela ne fonctionne pas –

+0

Que voulez-vous dire que vous obtenez li et img d'AJAX? Quand attacher le gestionnaire de clic? Et voici une [démo de travail] (http://jsfiddle.net/P6vgS/). –

0

utilisez event.stopPropagation();

 $("#img_id").click(function(){ 
      alert('Image is clicked'); 
    event.stopPropagation(); 
      }); 
+0

Toujours il appelle la fonction de clic li. Depuis que je reçois li et img d'ajax. Je pense que cela ne fonctionne pas –

0
$("#img_id").click(function(){ 
    alert('Image is clicked'); 
    return false; 
}); 

retour juste false de la fonction, qui sera prevent the event from bubbling up (entre la prévention d'autres actions par défaut, si c'est ce que vous voulez).

+0

stopPropagation est mieux que le retour faux car il tue tous les événements ... pour cela – kobe

+0

@gov Dépend de ce que l'OP veut exactement, a ajouté une note à ma réponse. – deceze

Questions connexes