首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用jQuery创建一个“类似推特”的剩余字符数?

如何用jQuery创建一个“类似推特”的剩余字符数?
EN

Stack Overflow用户
提问于 2011-10-29 04:16:49
回答 6查看 12.4K关注 0票数 8

我希望增强我的WordPress主题的“元描述”和“标题”标签输入字段,我想添加一个文本片段,在每次按键后评估文本输入字段,并更新字段“目标字符数”,就像推特做的那样。

例如,在"Meta Description“字段中,目标字符数是160。因此,如果该字段为空,则数字将为160。随着用户键入,输入字段中添加的每个字符的计数都会减少,直到达到零为止。

如果计数高于目标,数字将以红色书写,前面有一个减号(同样,就像twitter一样)。

有没有现有的jQuery脚本来做这件事?

代码语言:javascript
复制
<label class="screen-reader-text" for="excerpt">
    Post Excerpt (Meta Description) <span class="counter">150</span> characters*         
</label>

<textarea rows="1" cols="40" name="excerpt" tabindex="6" id="excerpt"></textarea>
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-10-29 04:25:17

据我所知没有,但这里有一些东西可以让你入门:http://jsfiddle.net/yzLbh/

编辑: Andy E是对的-我应该(现在已经)使用input事件添加了支持,如果你在支持它的浏览器上按住一个键,粘贴,拖动等,它就会起作用。http://jsfiddle.net/yzLbh/5/

票数 15
EN

Stack Overflow用户

发布于 2011-10-29 04:29:44

这并不是太复杂:

JS

代码语言:javascript
复制
maxCharacters = 160;

$('#count').text(maxCharacters);

$('textarea').bind('keyup keydown', function() {
    var count = $('#count');
    var characters = $(this).val().length;

    if (characters > maxCharacters) {
        count.addClass('over');
    } else {
        count.removeClass('over');
    }

    count.text(maxCharacters - characters);
});

HTML:

代码语言:javascript
复制
<textarea></textarea>

<p>
    <strong>You have <em id="count"></em> characters remaining</strong>
</p>

CSS:

代码语言:javascript
复制
.over {
    color: red;
}

演示:

基本上,您可以处理文本区域上的每个事件,并检查长度是否大于或小于阈值。

票数 7
EN

Stack Overflow用户

发布于 2011-10-29 04:20:24

在输入发生变化时绑定一个函数,检查文本的长度,执行减法,并用它更新div。

HTML

代码语言:javascript
复制
<input type='text' id='from_box' />
<div id='to_box'><span id='remaining'>160</span> characters remaining</div>

jQuery

代码语言:javascript
复制
$("#from_box").bind("keyup", function(){
    var max_characters = 160;
    var total_used = $("#from_box").val();
    var remaining = max_characters - total_used;
    $("#remaining").text(remaining);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7934428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档