onchange on radiobutton funktioniert in IE8 nicht richtig

Ich bin gezwungen, mit IE8 (8.0.7601.17514) zu arbeiten, und ich habe diese einfache Seite:

<code><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<form action=".">
    <input type="radio" name="rad" value="1" onchange="alert(1);"/>
    <input type="radio" name="rad" value="0" onchange="alert(0);" checked="checked"/>
</form>
<a href="http://google.com">some dummy link</a>
</body>
</html>
</code>

Was ich erwarte ist, dass, wenn das zweite Optionsfeld ausgewählt ist, ein Klick auf das erste sofort einen Alarm auslöst. Dies funktioniert gut in FF.

Was tatsächlich passiert ist, dass, wenn ich das erste Radio anklicke, nichts passiert. Wenn das Element dann unscharf ist (z. B. wenn ich auf eine andere Stelle klicke, das andere Radio, einen Link auf der Seite usw.), wird DANN der Alarm ausgelöst.

Gibt es eine Problemumgehung dafür?

BEARBEITEN:

anscheinend ist dieses verhalten genau nachW3C-Spezifikation

Veränderung

Das Änderungsereignis tritt auf, wenn ein Steuerelement den Eingabefokus verliert und sein Wert geändert wurde, seit er den Fokus erhält. Dieses Ereignis ist gültig für INPUT, SELECT und TEXTAREA. Element.

(danke an @ mu-is-too-short).

Die Problemumgehung besteht darin, eine Klickunschärfe + Fokus hinzuzufügen:

<code>function radioClick()
{
 this.blur();  
 this.focus();  
}


<input type="radio" name="rad" value="1" onclick="radioClick" onchange="alert(1);"/>
</code>

Antworten auf die Frage(3)

Ihre Antwort auf die Frage