HTML5已经从一个新的名词变成了我们在项目中经常用到的东西了,今天我们就来分析一番其中contenteditable 。
contenteditable
是HTML5的一个新的特性,有可能你也了解过一些,但是因为你没在项目中遇到过,只知道contenteditable="true"
可以触发可编辑,对于如何在项目中的应用?会出现什么问题呢?这些问题就是我们今天要说的。
先说说我遇到的。在一个项目中有个多行文本的输入,感觉textarea异常难以控制,所以尝试使用contenteditable="true"来模拟了一下。但是问题特别的严重,他们的编辑内容居然有css样式,每次都会发出去一些代码。然后就是复现问题,发现他们内容都是复制出来,然后他们常用的编辑器复制出来的内容,会带有css的表现为style标签。这样下来是不是感觉没有办法?然后紧急切换回textarea?通常这个事情都是这样结局的,但是我们的故事不能这样结局。
contenteditable="plaintext-only"
从单词上看来是纯文本,那么我们测试一下 http://jsrun.net/hcYKp
是不是特别的神奇呢?别急,css其实也是可以控制是否可以编辑-webkit-user-modify: read-write-plaintext-only
,那么我们测试一下 http://jsrun.net/hcYKp
当然这么酷的东西,兼容还不是很好,测试最好是在chrome里面进行