IEのsetAttributeでハマた

設定方法(Firefox, Opera, Safariの場合)

var anchor = document.createElement('a');
anchor.innerHTML = 'hagehage';
anchor.setAttribute('onmouseover', 'alert("hoge")');
document.body.appendChild(anchor);

設定方法(Firefox, IEの場合)

var anchor = document.createElement('a');
anchor.innerHTML = 'hagehage';
anchor.setAttribute('onmouseover', new Function('alert("hoge")'));
document.body.appendChild(anchor);

イベントハンドラをsetAttributeで設定するとき、new Functionでちゃんと定義してあげないとアウアウになる。
火狐、OperaSafariだといらないんだけど余計なトコで厳密なIEでした。


※例の場合は

alert.onmouseover = function(){
alert('hoge');
}

でもいいんだけどね。


・参考
http://nanto.asablo.jp/blog/2005/10/29/123294