2009-10-24 5 views
4

Comment puis-je écrire un plugin/fonction et être capable de l'appeler ainsi (pas de sélecteur requis)?

$.function() 

maintenant j'écris mes plugins quelque chose comme ceci:

(function($){ 
    $.fn.extend({ 
      //function name 
      myFunction : function(){ 
      //........... 
      } 
    }); 
})(jQuery); 

Répondre

10

Alors que le « étendre "La fonction jquery est la bonne façon d'étendre la bibliothèque, il a deux formes. $ .fn.extend qui est ce que vous utilisez dans votre exemple est utilisé pour ajouter des fonctions supplémentaires aux objets DOM réels. Ainsi, par exemple, votre fonction "myFunction" pourrait être utilisée comme ceci si vous vouliez effectuer une action sur l'objet "document" dans le dom. $ (document) .myFunction()

Pour étendre l'espace de noms statique de jQuery, vous devez utiliser la fonction à la place .extend $ (notez l'absence de fn)

(function($){ 
$.extend({ 
     //function name 
     myFunction : function(){ 
     //........... 
     } 
}); 
})(jQuery); 

devrait être ce que vous êtes à la recherche de.

7

simplement comme ceci:

(function($){ 
    $.myFunction = function(){ 
      //........... 
      } 
})(jQuery); 

Ou tout simplement:

jQuery.myFunction = function() { ... }; 
Questions connexes