本文主要是介绍H5富文本编辑器之初始化用于编辑的DOM-遁地龙卷风,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用H5的全局属性contenteditable可以让DOM元素及其子元素变的可编辑
<div contenteditable id="editor"></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 contenteditable id="editor" spellcheck="false"><p><br/></p>
</div>
默认规则如下
否则将直接作为#editor元素的文本节点,即
<div contenteditable id="editor" spellcheck="false">文本内容
</div>
同事点击Enter将新增div元素,即
<div contenteditable id="editor" spellcheck="false">文本内容<div></div>
</div>
#editor中的所用元素都是可被删除的,当#editor为空元素时,用户再次输出内容还会应用默认规则,这里要监听这一状态,发生时将<p><br/></p>添入其中,并且定位光标到p元素的最后
定位光标代码
function cursorToEnd(element){element.focus();var range = window.getSelection();range.selectAllChildren(element);range.collapseToEnd();}
window.getSelection() IE9已经支持
不定位可能发生以下情况
<div contenteditable id="editor" spellcheck="false">111111<p><br/></p>
</div>
打赏支持方式
这篇关于H5富文本编辑器之初始化用于编辑的DOM-遁地龙卷风的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!