2010-12-21 2 views
0

Ich habe eine fancybox, die ajax ruft file.php, um den Inhalt zu zeigen. file.php enthält:jQuery: focus()

<SCRIPT> 
jQuery(document).ready(function($) { 
$('[name=replyMsg]').focus(); 
}); 
</SCRIPT> 

aber immer noch wird es nicht auf das Element konzentrieren, wenn die Box öffnet.

Wie kann ich diese/jede Lösung beheben?

sieht Meine fancybox Einstellungen wie folgt aus:

$("a.fancybox_wallConv").each(function(){ 
     $(this).fancybox({ 
     titleShow  : false, 
     width: 380, 
     height: 190, 
     autoDimensions: false, 
     overlayOpacity: 0.3, 
showNavArrows: false, 
centerOnScroll: true, 
     href: "file.php" 
     }); 
    }); 

ich die href-Funktion für die Ajax-Aufruf verwende.

http://fancybox.net/api

Antwort

3

Sie versuchen, den Fokus auf() aufrufen, bevor der fancybox erscheint. Anstatt diesen Anruf in ready() zu setzen, setzen Sie ihn in onComplete().

$("a.fancybox_wallConv").each(function(){ 
     $(this).fancybox({ 
     titleShow  : false, 
     width: 380, 
     height: 190, 
     autoDimensions: false, 
     overlayOpacity: 0.3, 
     showNavArrows: false, 
     centerOnScroll: true, 
     href: "file.php", 
     onComplete: function() { $('[name=replyMsg]').focus(); } 
     }); 
    }); 
+0

+1, und ein kleiner Tippfehler =) behoben –