2010-09-29 5 views
0

J'écris une syntaxe incorrecte, donc la fonction n'est pas appelée.Syntaxe correcte pour les fonctions personnalisées dans Jquery

Je crée une fonction jQuery qui envoie un appel AJAX et redirige. Mais cela ne s'applique à aucun sélecteur.

ma fonction

$.fn.update_and_return = function() { 
    $.ajax({type: "GET", 
      beforeSend: function(){ 
      idx_var = $(".selected_adli").prevAll().length; 
      }, 
      url: '#{organization_media_gallery_path(@organization, @gallery)}', 
      dataType: "script", 
      complete: function(){ 
      $(".opened_photo").fadeOut(function(){ 
       $(".adli").eq(idx_var - 1).addClass("selected_adli"); 
       $(".media_lib").fadeIn(); 
      }); 
      } 
    }); 
    } 

Comment j'instancier:

$.update_and_return(); 

ne fonctionne pas. Pourquoi donc?

+0

je vais commenter le code du corps parce qu'il fonctionne intégré, mais si je l'extérioriser, il casse (probablement à cause de ma syntaxe d'instanciation d'une fonction). – Trip

Répondre

1

$.fn.function_name ajoute une fonction à l'objet retourné par un appel à $('#css_selector').

Si vous souhaitez joindre une fonction à l'objet jQuery $, vous pouvez simplement faire:

$.function_name = function() { /* Stuff */ } ; 
1

Hers est un exemple pour le faire avec un objet et une seule fonction (avec jQuery) Hope it helps:

$.someobject = { 
    somevar: "someval", 
    somemethod: function(){ alert('Baazinga'); } 
}; 

$.somefunction = function(){ alert('Baazonga'); }; 

$(document).ready(function(){ 
     $.someobject.somemethod(); 
     $.somefunction(); 
}); 
Questions connexes