Frage

Hallo, ich hatte ein jquery thickbox modal popu p auf meiner Anwendung. ( iframe )
Alles funktioniert gut, aber ich mag den Fokus setzen spezifischen Eingang Fällt d.

Die Iframe lädt eine normale aspx Seite, also dachte ich, ich würde ein $ (document) .ready tun (.. Fokus);
Ich habe das Skript in dem IFrame-Code

Doch das funktioniert nicht. Ich glaube, dass nach dem „ready“ einige andere Code durch den thickbox ausgeführt wird, so dass sie wieder den Fokus verliert. (Zum Beispiel .. ich den Wert des Eingabefeldes gesetzt, so der Mechanismus funktioniert ..

Kann mir jemand helfen, den Fokus gesetzt? Unten ist meine Berufung Code ..

<a href="page.aspx?placeValuesBeforeTB_=savedValues&TB_iframe=true&height=550&width=700" title="Add" class="thickbox">Add</a>
War es hilfreich?

Lösung

ThickBox zeigt den Behälter iframe durch ein Verfahren, bei dem onload-Ereignis des iframe Element aufrufen. Da der iframe, bis auf der übergeordneten Seite versteckt wird, nachdem der Inhalt des iframe geladen werden können Sie den Fokus nicht einfach eingestellt $ (document) .ready (.. Fokus) mit ;. Der einfachste Weg, die ich gefunden habe, dies zu umgehen ist setTimeout zu verwenden, um den Funktionsaufruf zu verzögern, die den Fokus setzt erst nach dem iframe angezeigt wird:

jQuery(document).ready(function() {        
    setTimeout(function(){
        $('#YourElementID').focus();   
    },200);
});

. Hinweis: Sie können den Millisekundenwert einstellen müssen, um Sie zu SetTimeout passieren

Andere Tipps

Von docs.jquery.com:

  

Löst den Fokus Ereignis jedes verglichene Element.

     

Dies bewirkt, dass alle Funktionen, die mit dem Fokus Ereignisse gebunden wurden ausgeführt werden.   Beachten Sie, dass dies nicht die Fokusmethode der zugrunde liegenden Elemente nicht aus.

Das heißt, Ihr Code wahrscheinlicher sein sollte: $ ( '# Input_field'). Get (0) .focus ()

Der Unterschied ist, dass Sie in meinem Beispiel zur Verwendung eigener Fokus Element des DOM-Element, während bei Ihnen Sie jQuery verwenden.

, die noch nicht nicht funktioniert, aber ist vielleicht ein Schritt in der richtigen Richtung.

Cheers,

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top