2 つの要素の onclicks を変更したい。Firefox では、このコードは本来あるべきことを行います。
var tmpButton = button1.onclick;
button1.setAttribute('onclick', button2.onclick);
button2.setAttribute('onclick', tmpButton);
しかし、IEでこのコードを実現するにはどうすればよいですか?
2 つの要素の onclicks を変更したい。Firefox では、このコードは本来あるべきことを行います。
var tmpButton = button1.onclick;
button1.setAttribute('onclick', button2.onclick);
button2.setAttribute('onclick', tmpButton);
しかし、IEでこのコードを実現するにはどうすればよいですか?
以下は、両方のブラウザで機能するはずです。
var tmpButton = button1.onclick;
button1.onclick = button2.onclick;
button2.onclick = tmpButton;
setAttribute メソッドは、100% クロスプラットフォームで安全ではありません。Quirksmodeによると、IE の実装setAttribute
は不完全です。
IE5-7 はスタイルを設定せず、設定しようとするとイベントを削除します。
注: これの実例: http://jsfiddle.net/slebetman/RHHzc/