focus () in IE6-problemen

Ik heb een probleem dat sommige mensen al hebben, maar het lukt me niet om het te repareren.

Ik heb een Javascript-functie die de nadruk legt op een bepaald veld in mijn geheel gegenereerde webpagina (ASP.NET 2.0). Deze javascript-functie wordt geregistreerd via een ScriptManager -object aan het einde van mijn pagina.

Wanneer ik de pagina voor de eerste keer invoeg, werkt de focus() niet. Ik kan zien dat ik het correct noem, maar de focus wordt niet ingesteld in het opgegeven besturingselement (gevonden met getElementById ). Op deze pagina heb ik een knop die alleen naar dezelfde pagina linkt, en wanneer ik erop klik en de pagina wordt vernieuwd, is de focus in orde.

Ik begrijp het echt niet, ik heb veel voorgestelde oplossingen geprobeerd ( settimeout , uitstellen , ...), het lukt me niet om het te laten werken.

Het werkt prima op IE8, maar niet al mijn gebruikers hebben het.

Kan iemand me alsjeblieft helpen?

0
Ik heb medelijden met je dat je IE6 moet ondersteunen.
toegevoegd de auteur ThiefMaster, de bron

1 antwoord

Gebruikt u innerHTML om AJAX-inhoud te laden? Als dat zo is, STOP DAT! Gebruik NOOIT innerHTML of adjacentHTML, houd je aan de W3C DOM-compliant methoden (importNode, insertBefore en appendChild), anders wordt inhoud gedumpt op de DOM en niet correct verwerkt. Dit is een van de vele stille bugs die echt te maken hebben met de inbreng van anderen.

Zorg er ook voor dat je geen echt eenvoudige termen gebruikt die als gereserveerd worden beschouwd. Microsoft heeft een lijst ergens (officieel of niet) met woorden die als je dat IE gebruikt gewoon niets zegt en de code gewoon niet zal uitvoeren.

0
toegevoegd
Bedankt voor je hulp, ik zal dit onderzoeken.
toegevoegd de auteur jdiogon, de bron