2016-04-08 10 views
-1

Wie kann ich diese Funktion:Javascript bekommen Funktion mit Namen

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); 

}, 

mit diesem:

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

Bevor der Funktionskopf sah wie folgt aus:

function readURL() 

Und es funktionierte , aber wie ich auf die andere Deklaration zugreife.

+0

Können Sie das vollständige Objekt mit der Methode anzeigen? –

Antwort

3

readURL ist eine Eigenschaft eines Objekts (die Sie nicht anzeigen). So übergeben Sie den Objektnamen:

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

Ja, aber beachten Sie, dass die Funktion erwartet, dass 'this 'richtig gesetzt ist (auf etwas) – Pointy

+2

@Pointy JQuery übergibt die' this'-Bindung, wenn ich mich nicht irre, und die Funktion wird von einer jquery-Funktion aufgerufen – Randy

+0

@randy ja guter Punkt; sieht so aus, als erwarte er 'this' als' ', das macht Sinn. – Pointy

Verwandte Themen