直接正文,不要使用onkeyup事件,输入中文的时候会产生bug(拼音的间隔符会占位需要再次触发onkeyup才能正常)。
主要使用oninput事件。
方法一 :
<textarea id="textid" placeholder="请输入诉求请求" oninput="wordLeg(this);" maxlength="500" ></textarea>
<div class="word"><span class="text_count">0</span> / <span class="num_count" id="numCount">500</span></div>
window.wordLeg = function (obj) {
var currleg = $(obj).val().length;
var length = $(obj).attr('maxlength');
if (currleg > length) {
layer.msg('字数请在' + length + '字以内');
$(obj).next().find('.text_count').css("color","red");
} else {
$(obj).next().find('.text_count').css("color","#aaa");
}
$(obj).next().find('.text_count').text(currleg);
}
wordLeg($("#textid"));
方法二:
<textarea id="textid" placeholder="请输入诉求请求" maxlength="500" oninput="javascript:textLength(this, 500, 'keyup-length');" class="layui-textarea"></textarea>
<span id="keyup-length" class="textarea-tips">0/500</span>
function textLength(obj, maxlength, id) {//文本域字数
var curr = obj.value.length;
if (curr > maxlength) {
layer.msg('字数在' + maxlength + '字以内');
} else {
document.getElementById(id).innerHTML = curr + '/1000';
}
}