2010-03-02 7 views
1

voici la situation: J'ai un où dans chaque cellule toute la zone a un événement onclick qui ouvre un formulaire d'édition, appelons cela A. Dans la même cellule, dans un coin, j'ai aussi avoir un 'X' pour supprimer l'objet représenté dans cette cellule, également avec un événement onclick dans ce cas avec un avertissement Oui/Non, appelons cela B.HTML. Quand il ya 2x événement onclick dans la même zone

Lorsque je clique sur le X (onclick B), apparaît de dialogue pour confirmer que je veux supprimer ou non mais le problème survient tout ce que je déclenche, je lance aussi l'onclic A car B est dans la même zone onclick que A.

Y at-il une solution donc quand je clique sur B , A ne déclenche pas? J'espère que je clarifierai mon problème.

Merci

Mise à jour

Merci au guide http://www.quirksmode.org/js/events_order.html Je devais ajouter cette JS fonction

function doSomething(e) 
{ 
if (!e) var e = window.event; 
e.cancelBubble = true; 
if (e.stopPropagation) e.stopPropagation(); 
} 

Et appeler l'événement onclick B avant d'appeler mon autre fonction:

onclick="doSomething(); Calendar.delClick('${id}', this); return false" 

Merci beaucoup tous les deux;)

+0

@framara: s'il vous plaît jeter un oeil à http://www.google.co.in/search?hl=fr&q=site:quirksmode.org+Unobtrusive+javascript –

Répondre

4

Utilisez event bubbling

+0

Merci pour cette lecture – framara

+1

btw quirksmode.org est un excellent guide pour javascript. –

2

Je pense que ce que vous vivez est l'événement bouillonnant. Jetez un oeil à PPKs excellent writing dans ce domaine.

+0

Plus précisément cette section: http://www.quirksmode.org/js/events_order.html#link9 (et notez que la plupart des bibliothèques implémenteront une abstraction pour vous, par exemple http://developer.yahoo.com/yui/3/ api/DOMEventFacade.html # method_halt) – Quentin

+0

Ouais, tu m'as battu avec 20 sec ^^ +1 upvote de ma part. – anddoutoi

+0

êtes-vous sérieux? :RÉ –

Questions connexes