我研究了各种 JQuery 插件来限制用户可以在文本区域键入的字符数,但我还没有真正找到一个忽略空格的插件。我尝试使用限制器修改现有的字符计数器,$('textarea').val().replace(/ /g,'').length
它确实有效。但是,当代码达到限制时,我希望用户无法在文本区域输入更多内容。但是,它实际上并不是这样工作的。
这是插件的代码:
(function ($) {
$.fn.extend({
limiter: function (limit, elem) {
$(this).on("keyup focus", function () {
setCount(this, elem);
});
function setCount(src, elem) {
var chars = src.value.replace(/ /g,'').length;
if (chars > limit) {
src.value = src.value.substr(0, limit);
chars = limit;
}
elem.html(limit - chars);
}
setCount($(this)[0], elem);
}
});
})(jQuery);
我认为问题在于,src.value = src.value.substr(0, limit);
因为限制变量仍会将空格计为字符。作为 JQuery 的初学者,我不确定如何处理这个问题。
任何帮助将不胜感激。提前致谢!
这是我迄今为止所拥有的一个小提琴:http: //jsfiddle.net/dxUsK/1/
这是原始插件的链接:http ://www.scriptiny.com/2012/09/jquery-input-textarea-limiter/