2012-12-05 1 views
1

Im se demander est-il un moyen de faire quelques actions après le plug-in est appliqué Par exemple,fonction succès après plugin jquery est appliqué (tag-it)

$("#mytags").tagit({ 
    tagSource: function (request, response) { 




    } 
}); 

et je veux SMTH comme ceci:

$("#mytags").tagit({ 
    tagSource: function (request, response) { 




    } 
}, function(){ 
     $(#test).remove(); 
}); 
+0

Pouvez-vous fournir plus de votre fonction 'tagSource'? – Ian

+0

tagSource fonction n'a pas d'importance Il peut être n'importe quelle fonction, je n'ai pas besoin d'un rappel de funcSource func, j'ai besoin de rappel pour le plugin appliqué avec succès – Leg0

+0

Pourquoi avez-vous besoin d'un rappel? Pourquoi ne pouvez-vous pas simplement appeler '$ (" # test "). Remove();' sur la ligne suivante? – Ian

Répondre

1

J'ai jeté un coup d'oeil dans le code source du plugin et il ne fournit pas un tel rappel. J'en ai besoin comme toi. Dans mon cas, il n'importait pas l'attribut requis, de sorte que le message requis flottait complètement perdu sur la page. J'ai fait un patch de singe. Ce n'est pas parfait, mais j'ai résolu mon cas. Je vais essayer d'ajouter ce rappel à tag-it et l'envoyer à github. Quoi qu'il en soit, voici mon sale fix:

 var temp = setInterval(function() 
     { 
      if($('.ui-widget-content.ui-autocomplete-input').length > 0) 
      { 
       clearInterval(temp); 
       $('.ui-widget-content.ui-autocomplete-input').doSomething(); 
      } 
     }, 500); 


EDIT: meilleure solution. Comme je viens de le dire. J'ai fait une modification dans le code et je l'envoie à la branche principale, vous pouvez voir ma version du plugin ici: https://github.com/kalkehcoisa/tag-it/blob/master/js/tag-it.js Il a un callBack "afterCreated" qui est déclenché quand le tagit finit d'être appliqué. Un exemple de comment l'utiliser:

  $('#singleFieldTags').tagit({ 
      availableTags: sampleTags, 
      singleFieldNode: $('#mySingleField'), 
    afterCreated: function(){ alert('test'); }, 
     }); 


J'espère que cela aide. ;)

Hey! Le développeur de la tête tag-it m'a répondu (https://github.com/aehlke/tag-it/pull/215#issuecomment-26191461) à propos de ma demande de tirage. La chose était beaucoup plus simple que nous le pensions.

Tout ce que vous avez besoin est $ ('# MyWidget') ('créer', function (event) {/ * ... */ }); comme c'est le cas dans l'interface utilisateur jQuery. Peut-être un exemple dans les docs est nécessaire ...

Développer et apprendre! ; P

+0

Salut @Jayme. Bonne réponse expliquée. J'obtiens une erreur lorsque j'essaie $ ('# myWidget'). ('Create', function() { alert ("in"); }); est en train de me donner une erreur "Jeton inattendu (" – HBK

+0

Ajout d'une fonction de création à l'intérieur du widget lui-même.) Commencé à travailler comme prévu.Merci de la réponse. – HBK

-2

Vous devez découvrir l'API plugin pour l'événement approprié. Si vous utilisez this one, il a un tel événement: afterTagAdded (function, Callback).

Veuillez lire documentation pour savoir comment utiliser.

+0

Merci, mais ce n'est pas ce dont j'ai besoin. Exactement ce que j'ai besoin est: 1. Le plugin s'applique à la div, envoie tout etc 2. Après que ce soit fait, je dois cacher/supprimer/faire d'autres choses. Est-ce possible? – Leg0

Questions connexes