温馨提示:
1以上写法,仅仅适应页面上input框位置固定的情况下写的,如果页面上的部分input框存在增删的情况,则可能不适用,需要加以修改
2以上写法是针对vue页面写的,ref属性也是vue里面获取dom元素的方法,如果你们项目不是vue写的,也可设置id属性或者其他的,反正原理就是让dom元素依次往下排,让数组里面的数据和dom元素名称对应起来
也就是说当元素设置 contenteditable 为true 那么当前元素可编辑
注意:此时该元素获取焦点时,该元素就可以进行编辑,和输入框一样的效果,但是它的值不是value而是innerText/innerHtml
在canvas上绘制文字时,我们需要实时绘制当前输入内容,刚开始使用场景是利用动态创建input元素,input获取焦点输入文字,当input失去焦点时绘制当前input的内容,功能可以实现,唯一不足就是我们需要输入框的大小按照输入内容的长度改变,使用input明显不太方便,可以使用动态改变size属性,如果输入的字母,数字,符合可以实现,当时如输入汉字的就会有问题,我们知道span等行内元素可以根据文字长度改变元素大小,所以,我们使用动态创建span标签,设置contenteditable="true",然后设置相应的样式,就可以模仿input输入框的效果
Vue 中提供了14个比较常用的指令,如
1v-model :双向数据绑定,
表单元素常用 input select radio checkbox textarea 等,v-model有三个修饰符,例如input元素 v-modeltrim去掉输入值的前后空格和v-modelnumber,将输入的字符串转换为number,v-modellazy 输入的数据不再实时更新,而是数据失去焦点的时候再更新输入的数据
2v-show: 元素的显示和隐藏,
频繁 *** 作元素的显示和隐藏,就用v-show ,原理是 *** 作的dom 的css样式 display的值是true还是false
3v-if:
元素的显示和隐藏,原理是,是否创建元素的dom,例如表格中某条数据是否显示编辑,删除按钮,由后台传的数据解决的,这种不频繁 *** 作的情况可用v-if,v-if 可以加入template标签中判断 v-show 不可以
4v-else : 和v-if 搭配使用
5v-else-if :条件满足v-if ?
不满足判断v-else-if 如果还不满足直接走v-else 这个的使用方式和我们的js 中的 if ,else if() ,else 是类似的使用方式
6v-bind: 绑定
v-bind:class v-bind:style v-bind:attribute v-bind可以省略成:最后写成 :class :style :attribute
7v-on :绑定常用事件
下面的常用事件去掉on 改为@click:点击某个对象时触发@clickondblclick:双击某个对象时触发@dblclickonmouseover:鼠标移入某个元素时触发@mouseoveronmouseout:鼠标移出某个元素时触发@mouseoutonmouseenter:鼠标进入某个元素时触发@onmouseenter
8v-for:项目中常用循环数组的指令。
9v-html :将字符串html 转换为结构显示,
项目中基本不这种方式去处理,涉及到安全性问题
10v-text:防止为了{{}} 闪烁问题 项目不常用
11v-once: 指令指的是元素仅仅绑定一次,只是渲染一次
12v-cloak:指的是cloak 等元素编译结束以后才会显示dom
13v-pre :跳过当前元素及子元素的编译过程,先进行编译
14v-slot:插槽
按钮防抖是个自古以来的老问题
以下可以解决所有vue的事件绑定防抖,
但是原生事件绑定不行,
点击后移除焦点是解决点击按钮后d窗, 此时按回车或空格会继续触发按钮点击
造成不必要的困扰
以上就是关于实现键盘左右键切换input框焦点全部的内容,包括:实现键盘左右键切换input框焦点、vue开发中使用span替代input输入,兼容IE、vue常用14个指令等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)