首页前端开发HTML使用HTML5中的contentEditable来将多行文本自动增高

使用HTML5中的contentEditable来将多行文本自动增高

时间2024-01-24 17:22:01发布访客分类HTML浏览319
导读:收集整理的这篇文章主要介绍了使用HTML5中的contentEditable来将多行文本自动增高,觉得挺不错的,现在分享给大家,也给大家做个参考。 contentEdITable是由微软开发、被其他浏览器反编译并投入应用的一个全局...
收集整理的这篇文章主要介绍了使用HTML5中的contentEditable来将多行文本自动增高,觉得挺不错的,现在分享给大家,也给大家做个参考。

contentEdITable是由微软开发、被其他浏览器反编译并投入应用的一个全局属性。该属性的主要功能是允许用户编辑元素中的内容,所以该元素必须是可以获得鼠标焦点的元素,而且在点击鼠标后要向用户提供一个插入符号,提示用户该元素中的内容允许编辑。contentEditable属性是一个布尔值属性,可以被指定为true或false。

除此之外,该属性还有个隐藏的inherit(继承)状态,属性为true时,元素被指定为允许编辑;属性为false时,元素被指定为不允许编辑;未指定true或false时,则由inherit状态来决定,如果元素的父元素是可编辑的,则该元素就是可编辑的。

另外,除了contentEditable属性外,元素还具有一个isContentEditable属性,当元素可编辑时,该属性为true;当元素不可编辑时,该属性为false。
下面给出了一个使用contentEditable属性的示例,当列表元素被加上contentEditable属性后,该元素就变成可编辑的了,读者可自行在浏览器中对该示例进行试验。

XML/HTML Code复制内容到剪贴板
  1. !DOCTYPE html>     
  2. head>     
  3. meta charset="UTF-8">     
  4. title> conentEditalbe属性示例/title>     
  5. /head>     
  6. h2> 可编辑列表/h2>     
  7. ul contentEditable="true">     
  8. li> 列表元素1/li>     
  9. li> 列表元素2/li>     
  10. li> 列表元素3/li>     
  11. /ul>    

这段代码运行后的结果如图:

行文本自动增高

谈到多行文本框,大家立刻就会想到使用textarea,使用textarea着实方便,但就是有一点不太好,不能自动增高,只能指定相应的列和行的字数或者直接css给高宽。

自动增高在某些时候还是需要的,比如类似发微博的输入框,它就是一个典型,需要这样的需求:文本框有个默认高度,输入文字超出这个高度后会自动增高,还要有一个最高的限度,超过这个限度以后就会出现垂直滚动条。

如果使用textarea来完成这个需求,还需要配合js来监听文本高度的变化来动态改变文本框的高度,这样就很不方便了,尤其是在移动端的时候就不科学了,这个时候就可以用上属性contenteditable了。

如:

XML/HTML Code复制内容到剪贴板
  1. div contenteditable="true" class="box" id="box" >   
  2.                
  3. /div>   
  4. style>   
  5. .box{ width:200px; max-height:100px; border:1px solid #ccc; overflow-y:auto; overflow-x:hidden; }   
  6. /style>   

只要指定contenteditable属性值为true,div就变成可以编辑的了,并且会随着内容增加自动增高,然后我们给div一个最大高度,就可以实现上面所说的需求。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: HTML5+CSS3绘制锯齿状的矩形下一篇:解析HTML5中的新功能本地存储loc...猜你在找的html5相关文章 关于移动端h5开发相关内容总结2022-05-17html5教程-学表单的第二天2018-12-10html5教程-HTML5浏览器支持2018-12-10html5教程-HTML5智能表单2018-12-10html5教程-微信H5使用resLoader实现加载页效果2018-12-10html5教程-day01-初级-JS0-热身运动JS入门教程2018-12-10html5教程-html5shiv.js和respond.min.js2018-12-10html5教程-不同浏览器对于html5 audio标签和音频格式的兼容性2018-12-10html5教程-使用Html5实现手风琴案例2018-12-10html5教程-html5笔记2018-12-10 其他相关热搜词更多phpjavapython程序员load

若转载请注明出处: 使用HTML5中的contentEditable来将多行文本自动增高
本文地址: https://pptw.com/jishu/585537.html
解析HTML5中的新功能本地存储localStorage HTML5+CSS3绘制锯齿状的矩形

游客 回复需填写必要信息