Я использую Dojo GFX для простого рисования, но у меня проблема с IE 7/8 (переключение браузера невозможно).
Если я создам div, настрою поверхность и нарисую несколько прямоугольников, они правильно отрисуются относительно div, пока все хорошо.
Однако то, что я хочу сделать, это создать виджет, что-то со встроенной «поверхностью», которая рисует на основе некоторых данных, специфичных для виджета. Таким образом, у меня есть виджет, содержащий div, и я рисую в этом div. Когда я это делаю, прямоугольники, которые я создаю, ведут себя так, как будто они реагируют на float:right, появляются в порядке их создания и игнорируют параметр «x».
Я предполагаю, что это поведение как-то связано с CSS, но я еще не дошел до сути. Любые идеи или решения с благодарностью!
Обновления:
- Я отключил все таблицы стилей и не использую атрибуты стиля. Никакой разницы в поведении.
- Я проверил разметку, созданную с помощью инструментов разработчика IE8. Помимо другого местоположения содержащего div, единственная разница, которую я вижу, заключается в том, что элементы v: roundrect не имеют дочерних элементов при создании против div виджета, но у них есть пустые элементы, такие как штрих, при создании против div, на который ссылается идентификатор .
- Просматривая документы, я вижу разницу, которая может быть ответственной, заключается в том, что метод postCreate, в котором я делаю свой рисунок, манипулирует div, который еще не был добавлен в dom, тогда как рисование на жестко закодированном div выполняется, когда он существует. Может быть, разница в рендеринге как-то связана с этим? Существует ли определенная функция жизненного цикла, которую можно использовать для виджетов?