javascript - jQuery 中类似 Twitter 的文本区域/输入计数器

标签 javascript jquery counter

我正在试验 jQuery 中的文本区域/输入计数器。到目前为止,我已经写了这个:

$textarea.keyup(function(){
    $chars_remaining.html((200 - parseInt($textarea.val().length)));
});
$textarea.keydown(function(){
    $chars_remaining.html((200 - parseInt($textarea.val().length)));
});

但不知何故,如果我按下一个键超过 3 秒,计数器就会卡住,它的下降速度非常慢。相比之下,无论您键入/按住按键的速度有多快,Twitter 的计数器都不会遇到任何延迟。

我应该如何调整我的代码才能顺利运行?

谢谢!

最佳答案

如果你想使用自己的代码,试试这个。这是一个小插件。

(function($) {
    $.fn.counted = function(options) {
        var settings = {
            count: 300
        };    
        options = $.extend(settings, options || {});
        return this.each(function() {       
            var $this = $(this);    
            var counter = $('<div/>').html(options.count).insertAfter($(this));           
            $(this).keyup(function(e) {
                var count = options.count - $this.val().length;
                if (count >= 0) {
                    counter.html(count);
                } else {
                    $this.val($this.val().substr(0, options.count));
                    counter.html(0);
                }
            });
        });
    };
})(jQuery);

$(function() {
    $('textarea.counted').counted({count: 10});
});

fiddle 在这里:http://jsfiddle.net/XScwS/

关于javascript - jQuery 中类似 Twitter 的文本区域/输入计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6523986/

相关文章:

javascript - React typescript 不可分配给类型参数

javascript - Plaxo 联系小部件消息

javascript - jQuery 绑定(bind)函数和(this)用法

javascript - 图像更改,在函数 onClick 中?可能使用 jQuery?

javascript - 使用 jQuery 编写此代码的最少代码

JavaScript 没有正确计算重复项

javascript - HTML5 Canvas 中的 textAlign 属性在 IE 11 中无法正常工作

javascript - 传递的变量不适用于我的函数 - Javascript

python - postgres 数组字段中最常见的单词

c - C语言中的计时器\计数器用于费率计算?