H5富文本编辑器之初始化用于编辑的DOM-遁地龙卷风

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

样式代码

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元素的包裹下


否则将直接作为#editor元素的文本节点,即

文本内容

同事点击Enter将新增div元素,即

文本内容

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


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

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

    range.selectAllChildren(element);
    range.collapseToEnd();
    
}

window.getSelection() IE9已经支持
不定位光标则发生以下情况

111111


你可能感兴趣的:(H5富文本编辑器之初始化用于编辑的DOM-遁地龙卷风)