当用户输入换行符时

当用户输入换行符时

本文介绍了当用户输入换行符时,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字会计数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-30 23:40