Javascript 字数计算Jquery函数
这是计算单词的脚本Javascript 字数计算Jquery函数,javascript,jquery,html,Javascript,Jquery,Html,这是计算单词的脚本 它能变得简单吗 删除全部或部分单词时,不会更新值。我试过了,但什么都想不出来。怎样才能做到呢 “可以简化吗?”这应算作五个字。但是检查这个[不加引号]这个脚本会将其压缩六次。怎么了 HTML 信息: 总字数:0个字 jquery $(document).ready(function () { $('#word_count').wordCount(); }); jQuery.fn.wordCount = function (params) { var p =
$(document).ready(function () {
$('#word_count').wordCount();
});
jQuery.fn.wordCount = function (params) {
var p = {
counterElement: "display_count"
};
var total_words;
if (params) {
jQuery.extend(p, params);
}
//for each keypress function on text areas
this.keypress(function () {
total_words = this.value.split(/[\s\.\?]+/).length;
jQuery('#' + p.counterElement).html(total_words);
});
};
拨弄
我认为这与您使用的事件有关。我建议您将函数绑定到变更事件 对于regexp,仅通过以下方式进行拆分是不够的:
stringValue.split(/\s/);
致以最诚挚的问候。我认为这是您正在使用的事件的问题。我建议您将函数绑定到变更事件 对于regexp,仅通过以下方式进行拆分是不够的:
stringValue.split(/\s/);
致以最诚挚的问候。请参见:
keyup
事件keyup
事件$('#word_count').on('keyup', function() {
$('#display_count').text(this.value.split(/\b\S+\b/g).length-1)
});
这似乎是浪费了一个插件的使用,因为它可以很容易地完成一些事情
它能变得简单吗
当然可以,使用单词边界匹配任何非空白的内容:
$('#word_count').on('keyup', function() {
$('#display_count').text(this.value.split(/\b\S+\b/g).length-1)
});
这似乎是浪费了一个插件,因为它可以轻松地完成一些事情。将您的函数绑定到
change()
,而不是按键。console.log()
,以查看它正在计算哪些单词。也许你的正则表达式是错误的。@Seiyria-change只会在输入失去焦点时触发。它是input
事件。@BenBarden我不是在寻找你提供的链接。您提供了一个限制计数器。我正在寻找单词计数器。将函数绑定到change()
而不是按键。console.log()
以查看它正在计算哪些单词。也许你的正则表达式是错误的。@Seiyria-change只会在输入失去焦点时触发。它是input
事件。@BenBarden我不是在寻找你提供的链接。您提供了一个限制计数器。我正在查找word counter。但当所有内容都被删除时,它会留下1而不是0。试试看。但是当所有的都被删除时,它会留下1而不是0。试试看,没那么简单。连字符的单词或者包含撇号的单词呢?@CrazyTrain-它们呢?你在提供的小提琴上试过了吗?没有,我在控制台上测试过。为什么会有不同的结果?编辑:……哦,我想我忘了-1
。我道歉+1如果我加上这样的词。。“什么?fcuk”没有引号。它将显示4个单词。但它只显示了3个。怎么能改变呢?没那么简单。连字符的单词或者包含撇号的单词呢?@CrazyTrain-它们呢?你在提供的小提琴上试过了吗?没有,我在控制台上测试过。为什么会有不同的结果?编辑:……哦,我想我忘了-1
。我道歉+1如果我加上这样的词。。“什么?fcuk”没有引号。它将显示4个单词。但它只显示了3个。怎样才能改变呢?