2010-12-14 8 views
0

Désolé c'est ma première fois en essayant de créer un plugin, donc je pourrais être loin. J'ai lu les documents, mais suis confus, et j'ai décidé d'apprendre en essayant ....Comment utiliser les événements est jquery plugin?

Je suis en train de faire un simple plug-in de validation de formulaire

(function($){ 
    $.fn.bluevalidate = function(options){ 

     var defaults = { 
      errorMsg : 'You have an error', 
      required : '' 
     }; 

     var opt = $.extend(defaults,options); 

     return this.each(function(index,element){ 
      var e = $(element); 

      if(opt.required!='') 
      { 
       e.bind('blur',function(){ 
        alert("required is here"); 
       }); 
      } 
      else 
      { 
       alert("NOOOOOOOOO"); 
      } 
     }); 
    }; 

}) (jQuery)

et je l'appelle comme

$('#username').bluevalidate({ 
    required:'This field is required'; 
}) 

Je veux obtenir l'alerte lorsque l'utilisateur clique sur le terrain, mais comme vous pouvez le deviner, ma méthode ne fonctionne pas, s'il vous plaît me dire ce que je fais mal .. ..

Répondre

0

Il y a un ; supplémentaire là-dedans, il devrait être:

$('#username').bluevalidate({ 
    required:'This field is required' 
}) 

Lorsque vous déclarez un objet littéral, vos propriétés ne devrait pas être suivie d'une ; (vous devez cependant avoir un ,entre propriétés). Ceci est le problème principal:

required:'This field is required'; //the ; shouldn't be here 

You can test it out here.

+0

merci, sur une note de côté, puis-je demander quel problème je pourrais rencontrer si j'utilise e.blur (function() {}) au lieu de bind? – Bluemagica

+0

@Bluemagica - pas de problèmes, c'est juste un raccourci, ils sont ajoutés pour un certain nombre d'événements. –

Questions connexes