Hallo Struppi,
Das musst du aber wenn umgekehrt einbauen, [...] entweder er kann createElement oder kein try catch
Nein. Das Einhängen bzw. Überschreiben des Type-Attributs führt im IE zum Fehler, der daraufhin in den catch-Block geht. Wenn es so nicht gehen würde, dürfte mein Tetris nicht laufen. Es müsste also reichen, wenn man es wie folgt formuliert:
//das koennen alle neuen Browser
var inp = document.createElement("input");
try {
// das nur die, die den Readonly-Status verletzen
inp.type = "checkbox";
}
catch(err) {
// der IE
inp = document.createElement('<input type="checkbox">');
}
Ich denke das läuft auf's selbe raus.
"seltsame Konstrukt" könnte mit einem Update weg sein und man müsste sich wieder was neues einfallen lassen. Ich denke, try-catch wird der Browser in jedem Fall unterstützen. Drum denke ich nicht, das es auf selbe rausläuft. Ich füge nach ähnlichem Prinzip auch die style-Eigenschaft pointer hinzu. Ältere IEs lass ich im catch-Block laufen und weise hand zu.
Mit freundlichem Gruß
Micha