2010-10-15 2 views
0

J'ai un couple d'éléments span dans un hyperlien HTML comme celui-ci.Problème lors de l'exécution de fonctions js différentes sur des éléments span cliquez sur imbriqué dans un lien hypertexte HTML

<a href="Default.aspx"><span id="span1" onclick="adddata();">Span1<asp:Literal ID="Lblcount" runat="server"></asp:Literal></span><span id="span2" class="removetab ui-icon ui-icon-circle-close" style="float:right; margin: -2px -10px 0px 3px; cursor:pointer;" onclick="removedata();"></span></a> 

Au moment après avoir cliqué sur « span1 » J'exécute une fonction js « de AddData » qui invoque une webmethod Serverside et après avoir cliqué sur « span2 » J'exécute la fonction js « REMOVEDATA » qui invoque à nouveau un côté serveur différent webmethod. Mon exigence est que j'ai besoin d'appeler la fonction 'adddata' js sur le lien hypertexte cliquez en plus de 'span1' cliquez mais pas sur 'span2' cliquez.J'ai essayé d'appeler la fonction 'adddata' sur l'événement lien hypertexte onclick Au lieu de l'événement onclick 'span1', mais cela provoque l'appel de la fonction sur 'span2' cliquez aussi.

Je ne comprends pas comment j'exécute la même fonction sur hyperlien et span1 click et une fonction différente sur span2 click.

Quelqu'un pourrait-il m'aider?

Merci

Répondre

1

Dans votre span2 annuler la bulle d'événement, changer ceci:

onclick="removedata();" 

à ceci:

onclick="removedata(); return false;" 

Cela empêche un événement click dans le <span> de bubbling up au <a> élément et le déclenchement est onclick gestionnaire ainsi.

0

Ou vous pouvez joindre "removedata" avec la vieille-école "javascript: void (removedata())" :)

Questions connexes