我一直在撞牆,試圖找出從textarea獲得字符倒計時的最佳方法。我創建了這個jsfiddle,但是如果我粘貼來自lipsum.com的4000個字符,那麼它表示它有12個字符。我知道這是因爲換行符,但我不確定如何使它正常工作,並且貫穿整個瀏覽器。讓textarea正確計算換行符
$('textarea').on('keyup', function() {
characterCount(this);
});
$('textarea:not(:empty)').each(function() {
characterCount(this);
});
function characterCount(that) {
var $this = $(that),
$maxLength = $this.attr('data-val-length-max'),
$lengthOfText = $this.val().length,
$charCountEl = $this.closest('.form-group').find('.maxchar-count');
if($maxLength) {
$($charCountEl).text($maxLength - $lengthOfText);
}
if($lengthOfText > $maxLength) {
$charCountEl.addClass('has-error');
} else {
$charCountEl.removeClass('has-error');
}
}
而且標記
<div class="form-group">
<textarea rows="5" data-val-length-max="4000"></textarea>
<div>
<span class="maxchar-count">4000</span>
</div>
</div>
我已經看到了一些類似的問題,但還沒有找到適合我的答案。
感謝
亨利
您可以獲取textarea的值並使用替換刪除換行符。 – scrappedcola 2014-08-29 15:08:01