저는 벽면에 머리를 대고있어 텍스트 영역에서 문자 카운트 다운을 얻는 가장 좋은 방법을 찾아 냈습니다. 이 jsfiddle을 만들었지 만 lipsum.com에서 4000 자까지 붙여 넣으면 12자를 초과합니다. 이것은 줄 바꿈으로 인한 것임을 알고 있습니다. 그러나 올바르게 작동하고 브라우저 전체에서 일관성있게 작동하는 방법을 잘 모르겠습니다.줄 바꿈을 제대로 계산할 수있는 텍스트 영역을 얻는 방법
$('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>
좀 비슷한 질문을 본 적이 있지만, 아직 나를 위해 작동 답변을 찾을 수 있습니다.
감사
헨리
텍스트 영역의 값을 가져오고 바꾸기로 줄 바꿈을 제거 할 수 있습니다. – scrappedcola