2010-08-03 3 views
0

Я использую dojo.create, чтобы вырезать некоторые собственные виджеты на страницу. В частности, я поставил на страницу набор радиокнопок и правильно ли они функционируют, зависит от того, где я их разместил.Собственные виджеты, созданные Dojo, не работают

Я хочу помещать их в созданный DIV. Однако, когда я это делаю, они не работают. Если я положил их на дно тела, они будут работать. Если я поместил их в ту же DIV, что и другой набор радиокнопдок, которые я создал ранее (я тоже создал DIV), они работают. Если я поместил новый DIV, с кнопками внутри него, в DIV, где они работали, или внизу страницы, они не работают.

«Не работайте», я имею в виду, что я подключаюсь к их onclick, но моя подключенная функция не вызывается. В Firefox поведение радиогрупп в остальном нормальное: я могу выбрать любую из кнопок в группе. В IE 8 я не могу изменить, какой элемент выбран.

Это поведение, которое любой признает?

ответ

0

«Вы сами это выясните, как только попросите о помощи». Бывает со мной много.

Оказалось, что в данном случае проблема заключалась в том, что проблема заключалась в том, что я исправлял innerHTML (просто вставляя некоторый текст) div, в который я вставлял переключатели. Я не знаю, почему это было проблемой, но не делаем это! Вместо того, чтобы работать на innerHTML, я создал пару пролетов и назначил их innerHTML. Это не проблема.

+1

Корректировка innerHTML разрушает соответствующее поддерево DOM и воссоздает его. Это приведет к аннулированию слушателей событий и вызовет некоторые проблемы, если у вас все еще есть ссылки на ранее существующие элементы DOM – user123444555621

Смежные вопросы