div可编辑之contenteditable属性

最近做项目,用到可编辑文本,首先进入我脑海的就是textarea富文本编辑框,就如我所想的那样,我也去做了,顺利做完提交,等到展示的时候发现textarea并不会随着内容的高度增加而增加,这让我百思不得解,为什么div就可以,对,div这个标签就这样闯入了我的印象,如果div可编辑就好了。后来搜索了一下,发现有个属性contenteditable可以让div呈现可编辑状态,欣喜若狂的我决定把textarea标签替换为div标签,替换完后,完美的展示了我想要的结果。下面来介绍下contenteditable

contenteditable

1.定义和用法

contenteditable 规定是否可编辑元素的内容,是html5的新属性,不过支持ie8

语法:

<element contenteditable="value">

属性值:

true:规定可编辑的文本框

false:规定不可编辑的文本框

classname:继承父元素的contenteditable属性

下面给出使用textarea的显示和使用contenteditable属性的显示

例子:以一首大家都很熟悉的诗作为显示

textarea下的显示

173810_5ZzB_3680343.png

contenteditable="true"下的显示

173816_Nd2l_3680343.png

虽然多行显示出来了,但我还要实现实时监听事件,让div标签使用contenteditable属性,虽然可编辑了,但因为不是input可编辑标签,所以没办法用input propertychange实时监听事件,后来我找到了DOMCharacterDataModified事件来代替input的实时监听事件,至于DOMCharacterDataModified事件的原理我还没有时间去弄明白,希望小伙伴们给点想法...

 

转载于:https://my.oschina.net/u/3680343/blog/1588024

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值