種別[statuses] cocolog:71623407
セクションJRF のひとこと
日時2012年02月15日
元URLhttp://jrf.cocolog-nifty.com/statuses/2012/02/post-021d.html

ポップアップで入力を求める処理が IE6…

ポップアップで入力を求める処理が IE6 でうまくいかなかった。position:absolute まわりで要素が表示されないというバグがあるらしく、それを疑ったが違った。JavaScript で、innerHTMLに要素を入れる前にappendChildしていたのが原因だった。
JRF 2012年2月15日

(まぁ、いまさら個人のサイトで InternetExplorer 6 に対応する必要はないというのも真なんだろうけど。)

JRF 2012年2月15日

position:absolute まわりのバグは↓。

《jmblog.jp - IEで絶対配置(position:absolute)のボックスが消えるバグの検証》
http://jmblog.jp/archives/180

私の症状は、↑とは違いボックスは表示されて、例えば、backgroud: red とかにすれば、確かにそれは有効なのに、innerHTML に突っこんだ要素は表示されないというものだった。

JRF 2012年2月15日

最初、↓みたいに書いてしまった。

<pre>
  var popup = document.createElement('div');
  popup.className = "popup-overlay";
  container.appendChild(popup);
  popup.innerHTML = 'ここに中身を書く。'
</pre>

JRF 2012年2月15日

それを↓にしたら直った。

<pre>
  var popup = document.createElement('div');
  popup.className = "popup-overlay";
  popup.innerHTML = 'ここに中身を書く。'
  container.appendChild(popup);
</pre>

JRF 2012年2月15日

typo 「backgroud」→「background」。
typo 「'ここに中身を書く。'」→「'ここに中身を書く。';」。
修正 「それを↓にしたら」→「それを↓の順序にしたら」。

JRF 2012年2月15日