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ちゃんまじダメブラウザ(笑)