2011-01-01 8 views
1

Ich bin mit dem Overlay jquery von hier:Beiladen focus() Ereignis innerhalb jquerytools Effekt für

http://flowplayer.org/tools/overlay/index.html

In meinem Overlay ich ein Suchfeld wie dieses:

<div class="simple_overlay" id="asearch"> 

    <div id="searchbox"> 
    <form id="amazonsearch" style='float:left;'> 
     <input class="title" id="amazon-terms" style="width:400px;font-size:2em;"> 
     <button class="sexybutton sexysimple sexygreen">Search</button> 

    </form> 

    <div id="amazon-results"></div> 

    </div><!--seachbox--> 

</div><!--Overlay--> 

Was Ich möchte passieren, wenn Sie das Overlay laden das Suchfeld in der Overlay-Fokus, so dass Sie beginnen können, in sie eingeben. Ich dachte, das würde funktionieren:

$("a[rel]").overlay({ 

onLoad: function() { 
$('#amazon-terms').focus(); 
} 

}); 

Aber das scheint nichts zu tun. Ich weiß, dass das Ereignis feuert, weil dies funktioniert:

$("a[rel]").overlay({ 

onLoad: function() { 
alert('popup opened') 
} 

}); 

Wenn jedoch diese Warnung das Overlay feuert noch nicht auf dem Bildschirm erschien, so frage ich mich, ob das einen Teil des Problems ist? Laut der Dokumentation onLoad sollte ausgelöst werden, "wenn das Overlay vollständig angezeigt wurde" (ref)

Jede Hilfe wird geschätzt! :)

Dank

Tom

EDIT Dieser Code tut, was ich will es, aber ich bin nicht klüger, warum das funktioniert, wenn der Code oben nicht der Fall ist ....

var triggers = $("a[rel]").overlay({ 
closeOnClick: false, 
onLoad: function() { 
$('input').focus(); 
} 
}); 

Antwort

1

Vereinfachtes Beispiel auf der Grundlage dieser jQuery Tools demo scheint zu funktionieren: User http://jsfiddle.net/heikki/2Fkqu/

Klicken Sie auf“ Eingabe ", um das Overlay zu öffnen.

+0

Danke dafür - Ich habe die relevanten Bits kopiert und eingefügt und es funktioniert. Ich bin leider keiner der weiser, warum es funktioniert vs das Original, aber zumindest funktioniert es :) – tomcritchlow

+0

Vielleicht haben Sie mehrere Elemente mit '# amazon-terms' ID auf Ihrer Seite? – Heikki