2010-08-04 7 views
1

Ceci est le plug-in:jQuery question du plugin: focus ne fonctionne pas

(
function($) 
{ 
    $.fn.foo=function() 
    { 
     $(this).focus() 

     return $(this) 
    } 
} 
)(jQuery) 

Maintenant, $('input#foo').foo() n'obtient pas le focus. Une idée pourquoi?

+0

J'ai aussi essayé $ (this) .trigger ('focus'). Non-non aussi bien – fabjoa

Répondre

1
(function($){ 

    $.fn.foo= function(map){ 

     return this.each(function(){ 

      // element-specific code here 
      $(this).focus(); 

     }); 

    }; 


})(jQuery); 

plus sur Plugin Authoring.

+0

Ne fonctionne pas non plus :( – fabjoa

+0

si vos codes fonctionne sans erreurs, cela devrait faire ... regardez ce [démo] (http://jsfiddle.net/SNmDg/) – Reigel

+0

ok, il doit y avoir une erreur quelque part je cherchais si quelque chose volait la mise au point, mais ce n'est pas le cas non plus http://jsfiddle.net/LMfrp/ – fabjoa

1

On dirait que votre fonction foo attend un paramètre:

$('input#foo').foo("mymap"); 
+0

désolé, je vais supprimer le paramètre. Je ne fais que présenter une vue minimisée de la fonction – fabjoa

0

utilisation $(this)[0].focus();

$().focus() incendies les événements liés à des focus pour un élément particulier. Les appels $()[0].focus() se concentrent sur l'élément DOM lui-même, ce qui entraîne une modification du focus du navigateur.

Questions connexes