2016-04-08 2 views
-1

Comment puis-je accéder à cette fonction:Javascript obtenir la fonction par son nom

readURL: function() { 
    var $input = $(this); 
    if (this.files && this.files[0]) { 
     var reader = new FileReader(); 
     reader.onload = function(e) { 
      $input.next('.input-preview').attr('src', e.target.result).show(); 
     } 
     reader.readAsDataURL(this.files[0]); 
    } 

    $(".ImageInput").change(readURL); 

}, 

Avec ceci:

$(".ImageInput").change(readURL); 

Avant l'en-tête de la fonction ressemblait à ceci:

function readURL() 

Et ça a marché , mais comment j'accède à l'autre déclaration.

+0

Pouvez-vous montrer l'objet complet contenant la méthode? –

Répondre

3

readURL est une propriété d'un objet (que vous ne montrez pas). Donc passer le nom de l'objet:

$(".ImageInput").change(yourObject.readURL); 
+0

Oui, mais notez que la fonction s'attend à ce que 'this' soit correctement défini (à quelque chose) – Pointy

+2

@Pointy JQuery passe la liaison' this' si je ne me trompe pas, et la fonction est appelée depuis une fonction jquery – Randy

+0

@randy oui bon point; On dirait qu'il attend que 'this' soit un ', ce qui est logique. – Pointy