0

Dojo GFXを使用して簡単な描画を行っていますが、IE 7/8に問題があります(ブラウザーの切り替えはオプションではありません)。

divを作成し、サーフェスを設定していくつかの四角形を描画すると、divに対して正しく描画されますが、これまでのところ良好です。

ただし、私がやりたいのは、ウィジェット固有のデータに基づいて描画する「サーフェス」が埋め込まれたウィジェットを作成することです。そのため、divを含むウィジェットがあり、このdivに描画します。これを行うと、作成したrectは、float:rightに応答しているかのように動作し、作成された順に表示され、「x」パラメーターを無視します。

この振る舞いはCSSと関係があると思いますが、まだその根底にあるものではありません。どんなアイデアや解決策もありがたいです!


更新:

  • すべてのスタイルシートを無効にしましたが、スタイル属性を使用していません。動作に違いはありません。
  • IE8開発ツールを使用して生成されるマークアップを調べました。含まれているdivの場所が異なることを除けば、私が見ることができる唯一の違いは、ウィジェットdivに対して作成された場合、v:roundrect要素には子要素がありませんが、IDによって参照されるdivに対して作成された場合、ストロークのような空の要素があります。 。
  • ドキュメントを読み返してみると、原因と思われる違いは、描画を行っているpostCreateメソッドがまだdomに追加されていないdivを操作しているのに対し、ハードコードされたdivでの描画はそれが行われているときに行われることです。いる。おそらく、レンダリングの違いはこれと関係がありますか?ウィジェットに描画するのに適した特定のライフサイクル関数はありますか?
4

1 に答える 1

0

Dojo GFXを使用して、IE7 / 8でウィジェットの一部として作成されたDOM要素を描画する場合は、実際にはstartup()メソッドのオーバーライドで描画を行う必要があるようです。

メソッドで描画すると、postCreate()に似た誤ったレンダリングが発生しfloat: leftます。

于 2012-07-13T10:16:20.720 に答える