2011年2月23日水曜日

IEめ

JavaScript触ってるとIEにイライラさせられる。
CSS触っててもIEにイライラさせられる。

もうみんなIE使うのやめればいいのに。

と言ってもWindows PC入手したら標準でIE付いてるもんな。

今回イライラしたポイントをメモ代わりにまとめておく。

onchange
ラジオボタンのonchangeがうまく動かない。
具体的には
for(var i=0;document.forms[0].length;i++){
    document.forms[0].elements[i].onchange=function(){}
}
これでフォーム内のアイテム全てにonchangeをセットしたのだが、IE8はフォーカスが外れないとonchangeにならないっぽい。
バージョンが違うと挙動が違うっぽいから要確認。
でも違うバージョンが同居できないから別マシンで確認しなきゃならん。
結局、onclickと両方セットしてクリア。
プルダウンリストとラジオボタン両方あったから「じゃあonchangeで良いじゃん」とか思ったのが間違い。

setAttribute
一部属性がsetAttributeで追加できない。
これは割りと有名な話。
styleとclassとイベント属性をsetAttributeで追加しようとすると挙動がおかしい。

割とIE以外のブラウザがIE形式でスクリプト書いても認識してくれるようになってるから、それに甘えるしかない。
でもIEがそれに甘えるのは許されないだろう(苦笑)
コーディングするこっちの身にもなれってんだ(笑)

IEちゃんまじダメブラウザ(笑)