export default {install(vue) {vue.directive('limit-count', {bind: function(el) {vue.nextTick(() => {el.style.position = 'relative'const target = el.getElementsByTagName('input')[0] || el.getElementsByTagName('textarea')[0]// 修改文本域样式,避免计数器被输入文字遮挡const textarea = el.getElementsByClassName('el-textarea__inner')[0]if (textarea) {textarea.style.border = `none`textarea.style.marginBottom = '20px'textarea.style.resize = 'none'el.style.border = '1px solid #DCDFE6'el.style.borderRadius = '4px'textarea.onfocus = function() {el.style.border = '1px solid #035BED'}textarea.onblur = function() {el.style.border = '1px solid #DCDFE6'}}let maxlength = 0// 创建插入计数器显示元素const createSpan = document.createElement('div')createSpan.className = 'ysx-limit-' + Date.now()if (target) {maxlength = target.getAttribute('maxlength')createSpan.innerHTML = `${target.value.length}/${maxlength}`if (maxlength) {el.appendChild(createSpan)const cssText = el.getElementsByTagName('input')[0] ? 'padding: 0 5px;position: absolute;height: 100%;right: 5px;top: 0;text-align: center;color: #A5A5A5; font-size: 12px;transition: all .3s;pointer-events: none;' : 'position: absolute; font-size: 12px; bottom: 5px; right: 5px;text-align: center;color: #A5A5A5; line-height: 12px;background:#fff;pointer-events: none;'createSpan.style.cssText = cssText}}el.targetEle = createSpanel.Currentlength = maxlength})},update(el, binding) {vue.nextTick(() => {if (binding.value) {el.targetEle.innerHTML = `${binding.value.length}/${el.Currentlength}`const targetwidth = el.targetEle.clientWidth// 计算计数器宽度,改变父元素的paddingRight避免文字遮挡if (el.className.includes('el-input')) {const input = el.getElementsByClassName('el-input__inner')[0]if (input) {input.style.paddingRight = `${targetwidth + 5}px`}}} else {el.targetEle.innerHTML = `${0}/${el.Currentlength}`}})}})}
}

vue 自定义指令 input框计算输入字数相关推荐

  1. vue自定义组件数据双向绑定,获取vue自定义组件input框输入的值

    1.首先创建一个自定义组件 Vue.component('test-component',{template:`<div id="el"><input @inpu ...

  2. Vue 自定义指令 解决IOS webview input 获取焦点被键盘遮挡

    Vue 自定义指令 解决IOS webview input 获取焦点被键盘遮挡 创建自定义指令 在使用input的地方添加自定义指令,记录一下还有优化空间. vue 文件 <div id=&qu ...

  3. vue 自定义指令(directive)实例

    一.内置指令 1.v-bind:响应并更新DOM特性:例如:v-bind:href  v-bind:class  v-bind:title  v-bind:bb 2.v-on:用于监听DOM事件: 例 ...

  4. clientsideevents能定义几个click事件_分享8个非常实用的Vue自定义指令

    作者:lzg9527 https://juejin.cn/post/6906028995133833230 在 Vue,除了核心功能默认内置的指令 ( v-model 和 v-show ),Vue 也 ...

  5. 9、Vue自定义指令

    Vue自定义指令 1.vue指令和自定义指令 2.使用自定义指令 2.1.全局注册 2.2.局部注册 3.钩子函数 1.vue指令和自定义指令 什么是指令? v-model.v-bind.v-on.v ...

  6. 29.VUE自定义指令directive和inserted

    VUE自定义指令directive和inserted 1.什么事自定义指令 1.2使用自定义指令的方式 2.设置自定义组件 2.1 设置全局指令 2.2 设置私有指令 2.3 钩子函数 3. 案例 1 ...

  7. vue 自定义指令 directive 全局 directives 局部 inserted update

    vue 自定义指令 需求 效果 全局 - 自定义指令 代码 局部 - 自定义指令 代码 自定义命令传值 效果 代码 问点 需求 获取标签,扩展额外的功能 效果 全局 - 自定义指令 代码 // mai ...

  8. vue自定义指令封装节流_Vue自定义指令封装节流函数的方法示例

    节流函数是web前端开发中经常用到的一个开发技巧,在input实时搜索,滚动事件等,为了避免过多消耗性能,我们都会使用节流函数.在<JavaScript高级程序设计>一书中有这样的一个例子 ...

  9. vue自定义指令(详细)

    局部自定义指令 自定义指令可以调用 5个函数,4个参数 函数: * bind:只调用一次,指令第一次绑定到元素时调用.在这里可以进行一次性的初始化设置. * inserted:被绑定元素插入父节点时调 ...

最新文章

  1. C++string中find_first_not_of()函数和find_last_not_of()函数
  2. $lookup做关联表查询
  3. 年度最佳代码“不管你们信不信,反正我信了”
  4. java disposable_rx-java – RxJava中的CompositeDisposable是什么
  5. python中验证码连通域分割的方法详解
  6. javascript正则表达式复习
  7. java各种排序实现
  8. LINUX下载编译libreadline
  9. 鲁棒控制器设计方法(systune,hinfsyn,musyn...)
  10. 田忌赛马 java,从田忌赛马看Java与.net
  11. win10连不上网,搜索不到WiFi,本地连接也断开
  12. 带上问题来看:主流技术Java、Python怎么?基本功又该怎么学?(什么是MySQL、Linux、算法?又该怎么用?)
  13. 抖音一个老人和一个机器人歌曲_抖音一禅小和尚背景音乐汇总 全网最火bgm都在这...
  14. update语句执行卡死现象原因及解决方案
  15. 来来来,做几道「送命题」
  16. RecyclerView的介绍
  17. 博客(blog.m1kh.com)
  18. vCenter通过vMotion迁移虚拟机条件
  19. 黑马程序员武汉校区 小舞老师 免费资料速速关注领取!!
  20. PatriotCTF

热门文章

  1. win10间歇性闪屏_今天解读win10桌面自动刷新闪屏的完全解决手法
  2. 四种快速易用的Python数据可视化方法
  3. 小米解bl锁跳过168小时_xiaomi redmi 红米秒解BL工具分享支持小米红米机型秒解BL跳过168小时
  4. 四川大学计算机网络课件,[工学]四川大学计算机网络课件.ppt
  5. 经纬度坐标转换为距离及角度(Python)
  6. 【无标题】回收二手锅炉,燃油锅炉,二手燃煤锅炉,有机热载体锅炉,废旧锅炉,立式锅炉,卧式锅炉
  7. 计算机复数怎转换成极坐标,如何把复数转化为极坐标
  8. (收藏向)超齐全常用python库汇总,有备无患!
  9. 机器人领域C++/ROS/TCP编程
  10. 大学日语六级历年真题及词汇