最近作项目,用到可编辑文本,首先进入我脑海的就是textarea富文本编辑框,就如我所想的那样,我也去作了,顺利作完提交,等到展现的时候发现textarea并不会随着内容的高度增长而增长,这让我百思不得解,为何div就能够,对,div这个标签就这样闯入了个人印象,若是div可编辑就行了。后来搜索了一下,发现有个属性contenteditable能够让div呈现可编辑状态,欣喜若狂的我决定把textarea标签替换为div标签,替换完后,完美的展现了我想要的结果。下面来介绍下contenteditablehtml
contenteditablehtml5
1.定义和用法htm
contenteditable 规定是否可编辑元素的内容,是html5的新属性,不过支持ie8继承
语法:事件
<element contenteditable="value">element
属性值:input
true:规定可编辑的文本框it
false:规定不可编辑的文本框table
classname:继承父元素的contenteditable属性class
下面给出使用textarea的显示和使用contenteditable属性的显示
例子:以一首你们都很熟悉的诗做为显示
textarea下的显示
contenteditable="true"下的显示
虽然多行显示出来了,但我还要实现实时监听事件,让div标签使用contenteditable属性,虽然可编辑了,但由于不是input可编辑标签,因此没办法用input propertychange实时监听事件,后来我找到了DOMCharacterDataModified事件来代替input的实时监听事件,至于DOMCharacterDataModified事件的原理我尚未时间去弄明白,但愿小伙伴们给点想法...