Neue Erkenntnisse:
Ich habe einige Zeit damit verbracht das Problem zu isolieren und in verschiedenen Zusammenhängen zu testen. Ich habe nun ein absolut minimales Setup für die Reproduktion geschaffen, bestehend aus zwei Dateien:
_________________________________
jqtest.html :
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>IE Bug - Test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>
<body onload="$.post('jqtest\_button.html', '', function(dat) { document.getElementById('dyn\_content').innerHTML = dat; });">
<div id="dyn\_content">
</div>
</body>
</html>
_________________________________
jqtest_button.html :
<input type="text" name="text123" value="test" />
<button style="font-size:10px;" onclick="alert('das sollte nicht sein'); return false;">ändern</button>
_________________________________
Ich habe jQuery jetzt mal von Google aus eingebunden, damit man direkt testen kann. Sowohl im IE8 als auch im IE9 wird man feststellen, dass, wenn man sich im Textfeld befindet, etwas eingibt und "Enter" drückt, das onclick-Event des Buttons ausgelöst wird.
Nun die interessanten Punkte:
- schaltet man in den Kompatibilitätsmodus (IE 8 und 9), tritt der Fehler nicht auf
- Fügt man um das input- und button-Element ein Formular mit Submit-Button ein, tritt der Fehler im IE8 nicht mehr auf, im IE9 schon
- die Position des buttons scheint keine Rolle zu spielen. Im "echten" Fall sind auf der Seite mehrere Buttons vorhanden, die willkürlich betroffen sind (auch wenn es MEISTENS der selbe ist)
- es hat offenbar nichts mit dem Doctype zu tun - auch mit 4.01 ist das Phänomen reproduzierbar, solange der IE im standardkonformen Modus (oder was er dafür hält) arbeitet.
Hat jetzt noch jemand eine Idee?
Und nebenbei: weiß jemand aus dem Kopf eine Anlaufstelle bei M$, bei der man solche Bugs melden kann? Dann muss ich nicht suchen :-)
Viele Grüße,
morlock