Es funktionierte gut all dies während, gerade jetzt neu-Faktor Codes für andere Funktionen, jetzt dieses dumme Problem auftritt und ich habe keine Ahnung, warum dies passiert.Dynamisch hinzugefügt Textbereich Wert auf Tastendruck
Markup in jquery für TextArea-
+'<div class="ckit-container__ft" data-ckit-footer>'
+'<form action="" class="ckit-composer-form">'
+'<div class="ckit-composer">'
+'<textarea data-ckit-composer-textarea placeholder="Add your reply" autocomplete="off" name="message" class="form-control ckit-composer__textarea"></textarea>'
+'</div>'
+'</form>'
+'</div>
Binding keypress Ereignis
jQuery(function($){
jQuery('body').bind('keypress','[data-ckit-composer-textarea]',function(event)
{
console.log(jQuery('[data-ckit-composer-textarea]').val());//returns empty
console.log(jQuery(this).val());//returns empty string
});
});
Da die HTML-Markup außerhalb $(function(){..})
existieren, ich habe sogar versucht, die Vorlage klonen und finden Sie das entsprechende Attribut Ersatz aber kein Glück.
var fullChatView = '<div class="ckit-container__ft" data-ckit-footer>'
+'<form action="" class="ckit-composer-form">'
+'<div class="ckit-composer">'
+'<textarea data-ckit-composer-textarea placeholder="Add your reply" autocomplete="off" name="message" class="form-control ckit-composer__textarea"></textarea>'
+'</div>'
+'</form>'
+'</div>';
var test = $(fullchatView).clone();//ReferenceError: fullchatView is not defined
var val = test.find('[data-ckit-composer-textarea]').val();
console.log(val);
Welche Version von jQuery verwenden Sie? Sie können '.on()' für Version 1.7 oben verwenden – guradio
@guradio, wo zu verwenden? für Tastendruck? Aber ich sollte es zuerst richtig binden? – 112233
Ja, verwenden Sie 'jQuery ('body'). On ('Tastendruck', '[Daten-ckit-Composer-TextArea]', Funktion (Ereignis) {Bind ist für die Version weniger als 1,7 prüfen [Dokumentation hier] (http : //api.jquery.com/bind/) 'Ab jQuery 1.7 stellt die Methode .on() die bevorzugte Methode zum Anhängen von Ereignishandlern an ein Dokument dar. Für frühere Versionen wird die Methode .bind() zum Anhängen verwendet ein Event-Handler direkt zu elements.' – guradio