本文介绍了当用户输入换行符时,Jquery字会计数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在jquery中创建了一个单词count。
I have a word counts create in jquery.
但是如果用户按Enter(换行符),则会导致剩下1个字符。
However if user press 'Enter'(line break), it will cause 1 character left.
ex。 maxlength = 10
,如果用户输入 abcde , \ n , abc
ex.maxlength=10
, if user type abcde, \n, abc
总计只有9个字符, div
显示剩下1个字符
total become 9 characters only and the div
show 1 character left
$(document).ready(function(){
//Word Count
$('.word_count')
.on('input keyup keydown focus', function () {
var maxlength = $(this).attr('maxlength');
var value = $(this).val();
if(value.length > 0) {
$(this).nextAll('div').first().text((maxlength - $(this).val().length));
} else {
$(this).nextAll('div').first().text(maxlength);
}
});
});
我发现textarea中的Chrome计数字符错误
i just find out Chrome count characters wrong in textarea
推荐答案
Chrome计数行换行为2个字符,把这个放在你的代码里应该没问题。
Chrome count line break as 2 characters, put this one inside of your code should be fine.
var isChrome = window.chrome;
if(isChrome){var value = $(this).val().replace(/(\r\n|\n|\r)/g," ");}
else{ var value = $(this).val();}
这会使长度为2个字符,因此它将与chrome中的textarea长度匹配
" "
this make length 2 characters, so it will match with textarea length in chrome
这篇关于当用户输入换行符时,Jquery字会计数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!