2010-08-03 14 views
0

J'utilise dojo.create pour lancer des widgets natifs sur une page. En particulier, j'ai mis un ensemble de boutons radio sur la page, et si elles fonctionnent correctement dépend de l'endroit où je les ai mis. Je veux les mettre dans une DIV que je crée. Cependant, quand je fais cela, ils ne fonctionnent pas. Si je les mets au fond du corps, ils travaillent. Si je les mets dans le même DIV comme un autre ensemble de boutons radio que j'ai créés plus tôt (j'ai créé ce DIV, aussi bien), ils fonctionnent. Si je mets le nouveau DIV, avec les boutons à l'intérieur, dans le DIV où ils ont travaillé, ou au bas de la page, ils ne fonctionnent pas.Les widgets natifs créés par Dojo ne fonctionnent pas

Par "ne fonctionne pas", je veux dire que je me connecte à leur onclick, mais ma fonction connectée n'est pas appelée. Dans Firefox, le comportement du groupe radio est par ailleurs normal: je peux sélectionner l'un des boutons du groupe. Dans IE 8, je ne peux pas changer quel élément est sélectionné.

Est-ce que ce comportement est reconnu par quelqu'un?

Répondre

0

"Vous comprendrez vous-même dès que vous demandez de l'aide." Ça m'arrive beaucoup.

Il s'est avéré, dans ce cas, que le problème était mon ajustement du innerHTML (juste en insérant du texte) du div dans lequel je mettais les boutons radio. Je ne sais pas pourquoi c'était un problème, mais ne fais pas ça! Au lieu d'opérer sur innerHTML, j'ai créé quelques travées et affecté à leur innerHTML. Ce n'était pas un problème.

+1

L'ajustement de innerHTML détruit la sous-arborescence DOM correspondante et la recrée. Cela annulera vos écouteurs d'événement et causera des problèmes si vous avez toujours des références aux éléments DOM déjà existants – user123444555621