lgl1209

图一:

图二:

图一是选中textarea选中时就显示出的字数,图二是键盘输入十个文字显示的字数

 

代码:

 

// 给textarea绑定  获取/失去焦点  和 按下按键时

<div>
  
  <textarea id="describe" class="input-text" type="text" 
    v-on:focus="func.checkMaxInput($event,250)"
    v-on:keyup="func.checkMaxInput($event,250)"
    v-on:blur="func.checkMaxInput($event,250) ></textarea>
  <i class="error-desc"></i>
</div>
 
methods: {
  checkMaxInput (event, maxLen) {
    
  // 校验
  let obj = event.target
   if (obj == null || obj == undefined || obj == \'\') {
    return
   }
   if (maxLen == null || maxLen == undefined || maxLen == \'\') {
    maxLen = 100
   }
  // 定义变量
  var strResult
  var $obj = $(obj)
  var newid = $obj.attr(\'id\') + \'msg\'
  // 如果输入的字数超过限制
  if (obj.value.length > maxLen) {
    // 去掉多余的字
    obj.value = obj.value.substring(0, maxLen)
  }
  // 计算并显示剩余字数
  strResult = \'<span id="\' + newid + \'" class=\\'Max_msg\\' ><br/>\' + (obj.value.length) +\'/\' + maxLen + \'</span>\'

var $msg = $(\'#\' + newid)
if ($msg.length === 0) {
let errobj = $obj.parent().find(\'.error-desc\') // class名error-desc是必选项中的标签(若为空时这个标签就会显示)
errobj.after(strResult)
} else {
$msg.html(strResult)
}
  }
}

分类:

技术点:

相关文章: