Mam formularz, w którym po naciśnięciu klawisza lub wklejeniu i przycięciu tekstu z obszaru tekstowego zostanie wyświetlona liczba pozostałych znaków, ale po pierwszym naciśnięciu funkcja nie działa, ale na klawiaturze drugi i tak w nim jest. Mój kod znajduje się poniżej.Bindowanie nie działa na pierwszym KeyPress przy użyciu jQuery
$('.Textarea').keypress(function (event) {
if ($(this).is(':visible')) {
$(this).bind('paste copy cut keypress', function() {
var CharsLeft = $(this).parent('div').find('.CharsLeft');
var Chars = $(this).val().length;
$('.CharsLeft').text(5000 - Chars);
});
if (event.keyCode == 13) {
var Value = $(this).val();
$(this).parent('div').find('.SubMessages').append('<div style="border-top:1px solid #EEE; padding:10px 0;">' + 'You: ' + Value + '</div>');
$(this).val('');
event.preventDefault();
}
}
});
<div class="Message" style="width:100%; text-align:left;">
<div class="MsgInfo" style="display:block; border-bottom:1px solid #EEE;">
<span class="InnerMsg">From: Tera</span>
<span class="InnerMsg">Subject: Welcome To Tera!</span>
<span class="InnerMsg">When: 2 Hours Ago</span>
<div style="clear:both;"></div>
</div>
<div class="UserMsgContent" style="display:block; padding:10px; line-height:1.5em;">
<div class="SubMessages">
<div style="padding:10px 0;">Hello</div>
</div>
<textarea style="width:930px;" class="Textarea" placeholder="Reply!" maxlength="5000"></textarea>
<div style="margin-top:10px;">
<div class="CharsLeft">5000</div>Characters Left
</div>
</div>
</div>
Czy możesz pokazać nam swój html? Czym jest "to"? –
jego textarea jedna sekunda –