您现在的位置是:网站首页> 编程资料编程资料
使用HTML5中的contentEditable来将多行文本自动增高contenteditable元素的placeholder输入提示语设置方法设置contenteditable属性可编辑HTML标签的内容(可代替textarea)当div设置contentEditable=true时,重置其内容后无法光标定位
2021-08-31
1268人已围观
简介 这篇文章主要介绍了使用HTML5中的contentEditable来将文本自动增高的方法,文章先对contentEditable这个HTML5中的新属性作了一个简单介绍,需要的朋友可以参考下
contentEditable是由微软开发、被其他浏览器反编译并投入应用的一个全局属性。该属性的主要功能是允许用户编辑元素中的内容,所以该元素必须是可以获得鼠标焦点的元素,而且在点击鼠标后要向用户提供一个插入符号,提示用户该元素中的内容允许编辑。contentEditable属性是一个布尔值属性,可以被指定为true或false。
除此之外,该属性还有个隐藏的inherit(继承)状态,属性为true时,元素被指定为允许编辑;属性为false时,元素被指定为不允许编辑;未指定true或false时,则由inherit状态来决定,如果元素的父元素是可编辑的,则该元素就是可编辑的。
另外,除了contentEditable属性外,元素还具有一个isContentEditable属性,当元素可编辑时,该属性为true;当元素不可编辑时,该属性为false。
下面给出了一个使用contentEditable属性的示例,当列表元素被加上contentEditable属性后,该元素就变成可编辑的了,读者可自行在浏览器中对该示例进行试验。
- >
- <head>
- <meta charset="UTF-8">
- <title>conentEditalbe属性示例title>
- head>
- <h2>可编辑列表h2>
- <ul contentEditable="true">
- <li>列表元素1li>
- <li>列表元素2li>
- <li>列表元素3li>
- ul>
这段代码运行后的结果如图:
行文本自动增高
谈到多行文本框,大家立刻就会想到使用textarea,使用textarea着实方便,但就是有一点不太好,不能自动增高,只能指定相应的列和行的字数或者直接css给高宽。
自动增高在某些时候还是需要的,比如类似发微博的输入框,它就是一个典型,需要这样的需求:文本框有个默认高度,输入文字超出这个高度后会自动增高,还要有一个最高的限度,超过这个限度以后就会出现垂直滚动条。
如果使用textarea来完成这个需求,还需要配合js来监听文本高度的变化来动态改变文本框的高度,这样就很不方便了,尤其是在移动端的时候就不科学了,这个时候就可以用上属性contenteditable了。
如:
- <div contenteditable="true" class="box" id="box" >
- div>
- <style>
- .box{width:200px;max-height:100px;border:1px solid #ccc;overflow-y:auto;overflow-x:hidden;}
- style>
只要指定contenteditable属性值为true,div就变成可以编辑的了,并且会随着内容增加自动增高,然后我们给div一个最大高度,就可以实现上面所说的需求。
相关内容
- 解析HTML5中的新功能本地存储localStorageHTML5 LocalStorage 本地存储详细概括(多图)html5 localStorage本地存储_动力节点Java学院整理localstorage和sessionstorage使用记录(推荐)详解HTML5 LocalStorage 本地存储 html5本地存储 localStorage操作使用详解HTML5 本地存储 LocalStorage详解HTML5中Localstorage的使用教程localStorage的过期时间设置的方法详解
- 实例讲解使用SVG制作loading加载动画的方法基于SVG实现点击按钮loading加载特效源码HTML5 SVG实现的Loading动画加载特效源码
- 移动端HTML5实现文件上传功能【附代码】HTML5 文件上传下载的实例代码HTML5拖拉上传文件的简单实例HTML5应用之文件上传HTML5+WebSocket实现多文件同时上传的实例移动端HTML5实现文件上传html5实现多文件的上传示例代码HTML5拖拽文件到浏览器并实现文件上传下载功能代码HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法HTML5 FormData 方法介绍以及实现文件上传示例
- HTML5触摸事件演化tap事件介绍html5触摸事件判断滑动方向的实现HTML5触摸事件实现移动端简易进度条的实现方法整理HTML5移动端开发的常用触摸事件HTML5触摸事件(touchstart、touchmove和touchend)的实现
- html5生成柱状图(条形图)效果的实例代码html5中canvas图表实现柱状图的示例
- 用html5绘制折线图的实例代码移动端HTML5实现文件上传功能【附代码】深入研究HTML5实现图片压缩上传功能HTML5触摸事件演化tap事件介绍jQuery+html5实现企业年会数字抽奖特效源码html5生成柱状图(条形图)效果的实例代码详解HTML5 Canvas绘制时指定颜色与透明度的方法实例讲解使用HTML5 Canvas绘制阴影效果的方法移动web模拟客户端实现多方框输入密码效果【附代码】
- 详解HTML5 Canvas绘制时指定颜色与透明度的方法移动端HTML5实现文件上传功能【附代码】深入研究HTML5实现图片压缩上传功能HTML5触摸事件演化tap事件介绍jQuery+html5实现企业年会数字抽奖特效源码html5生成柱状图(条形图)效果的实例代码用html5绘制折线图的实例代码实例讲解使用HTML5 Canvas绘制阴影效果的方法移动web模拟客户端实现多方框输入密码效果【附代码】
- 实例讲解使用HTML5 Canvas绘制阴影效果的方法canvas 阴影和图形变换的示例代码HTML5 canvas基本绘图之绘制阴影效果html5实现canvas阴影效果示例HTML5 Canvas阴影使用方法实例演示canvas多重阴影发光效果实现
- 使用HTML5 Canvas API控制字体的显示与渲染的方法html5 canvas绘制网络字体的常用方法
- 深入解析HTML5 Canvas控制图形矩阵变换的方法调用HTML5的Canvas API绘制图形的快速入门指南实例讲解利用HTML5 Canvas API操作图形旋转的方法HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvahtml5的画布canvas——画出弧线、旋转的图形实例代码+效果图html5-Canvas可以在web中绘制各种图形H5最强接口之canvas实现动态图形功能
