2009-06-16 17 views
0

den Code unten gegeben:Wie fokussiere ich die Funksteuerung mit Javascript in IE?

function test() { 
 
    document.forms[0].TEST[0].focus(); 
 
}
<form> 
 
     <input type="button" value="Test" onclick="test()" /> 
 
     <input type="radio" name="TEST" value="A">A</input> 
 
     <input type="radio" name="TEST" value="B">B</input> 
 
    </form>

In IE6, klicken Sie auf die Schaltfläche der Kontrolle nicht konzentrieren, wenn ich nicht schon durch das Radio mindestens einmal mit Registerkarten haben, in welchem ​​Fall es funktioniert. =/

Irgendeine Idee, wie ich die Kontrolle fokussieren sollte? Das obige funktioniert in FF natürlich einwandfrei.

Bearbeiten: Ich habe festgestellt, dass das Steuerelement fokussiert wird, außer das Markierungsfeld um das Optionsfeld wird nicht gerendert. (Ich kann Leerzeichen drücken, um den Radio-Button zu aktivieren, und auch die Pfeiltasten, um den aktiven Button zu ändern). Die Frage wird also: Wie kann ich die Fokus-Highlighting-Box zum Rendern zwingen?

+0

WFM - haben Sie versucht, dies auf andere Fälle von IE? – annakata

+0

Möchten Sie "klicken" oder nur fokussieren? –

+0

Beachten Sie, dass Ihre Eingabe-Tags nicht korrekt Markup sind – arhak

Antwort

0

Eigentlich ist es Fokussierung, Sie können es testen, indem Sie das zweite Element fokussieren, und nach dem Klicken auf die Schaltfläche klicken Sie auf Leerzeichen, Sie können das zweite ausgewählte Element sehen. Dies zeigt, dass die Objekte den Fokus bekommen, aber ich denke, du meinst die gestrichelte Auswahl nach dem Fokus. Ich weiß nicht, wie ich das machen soll.

+0

Ähm ... das funktioniert auch nicht. Es scheint mir egal zu sein, wie ich das relevante Funkelement bekommen habe (ob per ID oder durch das Formular referenzieren). Das Problem scheint mit der Funktion focus() des IE selbst zu sein. –

0

Es gibt eine Option in den erweiterten Eingabehilfen des Internet Explorer, die etwas wie "Bewegen des Systemcursors mit Auswahl oder Fokus" sagt. Es könnte eine Lösung sein, wenn Sie IE-Einstellungen weitergeben können.

edit: es funktioniert nicht

+0

Nein, es gibt keine Möglichkeit, IE Einstellungen mit Javascript zu manipulieren. – TFM

+0

Es kann sein. Unabhängig davon können Sie in einigen Projekten Internet Explorer-Einstellungen erzwingen. – Alsciende

+0

Nun, anstatt den Rest von uns im Dunkeln zu lassen, haben Sie vielleicht einen Beispielcode, den Sie mit uns teilen sollten? – TFM

0

Sie jede mögliche Art des Fokus outline zwingen kann

function test() { 
 
    document.forms[0].TEST[0].focus(); 
 
}
/* if this CSS rule is overrode by another one, then strengthen the selector of this rule to make it more specific (or use "!important") */ 
 
input[name=TEST]:focus { 
 
    outline: 1px dotted blue; 
 
}
<form> 
 
    <input type="button" value="Test" onclick="test()" /> 
 
    <input type="radio" name="TEST" value="A" /> 
 
    <input type="radio" name="TEST" value="B" /> 
 
</form>

Verwandte Themen