我有一个表单,当按下键或从文本区剪切和粘贴文本时,剩余字符数将显示,但在第一次按键时,函数不起作用,但在第二次及以后的按键中会有效。我的代码如下。
$('.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>