2010-01-27 11 views
7

Ich arbeite an einem modalen Kommentar System mit jQuery und jQuery UI, aber ich habe einige Probleme mit Fokus. Ich habe eine Reihe von div-Tags innerhalb der modalen zwischen Anmeldung zu wechseln und Kommentar hinzufügen, wie unten:jQuery UI Dialog und Textfeld Fokus Issue

<div id="modal" title="Loading"> 
<div id="modalContent"></div> 

<div id="modalLogin"> 
    <div class="loginBox"></div> 
    <div class="addCommentBox"></div> 
    <div class="commentReview"></div> 
</div> 
</div> 

Innerhalb des addCommentBox div, ich habe den Kommentar Code bekommt:

<form action="/comments/add" class="addCommentForm" name="addCommentForm" method="post"> 
    <textarea name="content" class="addCommentContent"></textarea> 
    <button value="Add Comment" type="submit" class="commentPost"/> 
    <button value="Clear Comment" type="submit" id="clearComment"/> 
</form> 

Die Frage ist das etwa die Hälfte der Zeit nach dem Öffnen des Dialogs der Textbereich innerhalb der addCommentBox div reagiert nicht auf Tastatureingaben, wenn ausgewählt. Die Maus funktioniert korrekt und ermöglicht die Auswahl von Text, aber die Tastatursteuerung tut nichts.

Ich habe keine Ereignis-Listener auf der Textarea. Ich habe einige auf den Tasten, aber sie zielen nur auf die Tasten.

Das einzige, was passiert in der HTML scheint die Tatsache zu sein, dass jedes Mal, wenn ich auf das Modal klicke, der Z-Index für das gesamte modale div ansteigt. Ich habe das addCommentBox div gesetzt, um einen Z-Index von 9999 zu haben, größer als der Z-Index des modalen.

Alle Vorschläge oder Richtungen zur Forschung würden sehr geschätzt werden. Vielen Dank!

+1

Bitte geben Sie ein Beispiel fehlgeschlagen: http://jsfiddle.net/ – Markus

+1

Sie wollen hinzufügen, welche jQuery UI-Version, welche jQuery-Version. – potatopeelings

+0

möchten Sie vielleicht den Z-Index der Überlagerung zu überprüfen $ (". UI-Widget-Overlay"). Css ("Z-Index") – potatopeelings

Antwort

1

Wenn es "die halbe Zeit" passiert, ist das schwer. Testen Sie es in einigen anderen Browsern, um zu sehen, ob das Gleiche passiert.

0

Wie verstecken Sie loginBox und commentReview? Wenn Sie Deckkraft verwenden, kann es sein, dass etwas, das Sie nicht sehen können, oben auf dem Textfeld liegt.

Sie werden keine Elemente mit einer Deckkraft von 0 sehen, aber sie sind immer noch in jeder anderen Hinsicht vorhanden. Sie akzeptieren Mausereignisse, die Sie daran hindern, auf das Textfeld zu klicken.

Wenn Sie das Textfeld sehen, dann klingt es nicht wie ein Z-Index-Problem für mich.

0

Wenn Sie das Dialogfeld öffnen, versuchen Sie, das Textfeld während der "Öffnen" -Funktion zu fokussieren.

0

Klingt wie das Problem mit etwas anderem auf der Seite ist. Haben Sie dies getestet, indem Sie die oben genannte Funktion, die eigene Seite, von allen anderen Funktionen trennen?

0

Versuchen Sie, die TABINDEX-Eigenschaft des Textfelds festzulegen, wenn sie nicht festgelegt ist.