2016-04-09 10 views
0

Ich habe folgende Funktion autoheight() in jquery, die automatisch die textbox nach dem Eingabetext uns vergrößert,Automatische Erhöhung TextArea- Größe

$(function(){ 

    $(".form-textarea").autoheight(); 

    }); 

Mein Problem ist, wenn ich die Seite mit jquery & ajax nachladen, stoppt die Funktion Arbeits und das Textfeld beendet, die Größe entsprechend dem Textinhalt zu erhöhen. Ich meine, es hängt mit der Delegierung von Ereignissen zusammen, kann jemand eine Lösung dafür finden?

Funktionsweise HTML-Codierung von Textbereich

<textarea style="overflow: hidden; height: 26.234px;" name="comment" class="form-textarea"></textarea> 

Textbereich geladen durch jquery/nicht funktionierende

<textarea name="comment" class="form-textarea"></textarea> 

Hinweis - es funktioniert gut, wenn wir die Seite durch Browser aktualisieren .

+0

Überschreibt Ihr Ajax die Textarea? Wenn dies der Fall ist, verliert es seine vorherigen Ereignisse/Code-Hooks. – NOBrien

+0

@RoryMcCrossan Danke, können Sie bitte eine Beispielcodierung davon zeigen, ich meine, wir können Körper als Elternteil für "Form-Textarea" verwenden – Tom

+0

Der Code ist wenig lang, können Sie vorschlagen, wie kann ich es posten? – Tom

Antwort

1

Überschreiben Sie tatsächlich das betroffene Element textarea während Ihres AJAX-Anrufs?

Wenn das der Fall ist, müssen Sie explizit in dem erfolgreichen Rückruf Ihres AJAX-Aufruf die autoheight() Funktion auf das neue Element nennen (als älteres wurde ersetzt und ist nicht mehr in dem DOM und Ihre Funktion doesn‘ Ich kenne das neue Element).

$.ajax({ 
     url: 'your-target-here', 
    success: function(){ 
       // Update your content here (or that may already be done) 

       // Reregister your autoheight function 
       $(".form-textarea").autoheight(); 
      } 
}); 
+0

, Thanks .. Ich habe den Beitrag bearbeitet, können Sie bitte bestätigen, dass Informationen ausreichen? – Tom

+0

Rion, genial, die gleiche Sache, was Sie vorgeschlagen haben, war Test bereits von mir, aber war im falschen Teil, jetzt scheint es funktioniert es :) Ich werde es erneut verifizieren – Tom

+0

Froh, dass Sie es aufgepasst bekommen :) –

Verwandte Themen