PHP前端开发

H5富文本编辑器的详细介绍

百变鹏仔 2个月前 (10-18) #H5教程
文章标签 详细介绍

使用h5的全局属性contenteditable可以让dom元素及其子元素变的可编辑

<div>   </div>

样式代码

html,body {  overflow: hidden;  width: 100%;  height: 100%;}* {  margin: 0;  padding: 0;}#editor {  width: 100%;  height: 100%;  outline: none;  padding-left: 15px;}

* chrome 49下测试有效

以下方式使得用户初始输入的文本内容在p元素的包裹下

<div><p><br></p></div>

默认规则如下

否则将直接作为#editor元素的文本节点,即<div>文本内容</div>同事点击Enter将新增div元素,即<div>文本内容<div></div></div>
View Code

#editor中的所用元素都是可被删除的,当#editor为空元素时,用户再次输出内容还会应用默认规则,这里要监听这一状态,发生时将


添入其中,并且定位光标到p元素的最后

定位光标代码

function cursorToEnd(element){        element.focus();var range = window.getSelection();    range.selectAllChildren(element);    range.collapseToEnd();    }

window.getSelection() IE9已经支持

不定位可能发生以下情况

<div>    111111    <p><br></p></div>