当用户输入换行符时,Jquery字会计数 [英] Jquery word counts when user type line break

查看:60
本文介绍了当用户输入换行符时,Jquery字会计数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在jquery中创建了一个单词count。

I have a word counts create in jquery.

http://jsfiddle.net/DqYsN/

但是如果用户按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使用maxlength属性计算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字会计数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆