HTML5技术

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

字号+ 作者:H5之家 来源:H5之家 2017-07-07 10:00 我要评论( )

使用H5的全局属性contenteditable可以让DOM元素及其子元素变的可编辑 /div 样式代码 html,body { overflow: hidden; width: 100% ; height: 100% ;} * { margin: 0 ; padding: 0 ;}#editor { width: 100% ; height: 100% ; outline: none; padding - left: 1

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

</div>

样式代码

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

View Code

 

* chrome 49下测试有效

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

默认规则如下

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

View Code

#editor中的所用元素都是可被删除的,当#editor为空元素时,用户再次输出内容还会应用默认规则,这里要监听这一状态,发生时将<p><br/></p>添入其中,并且定位光标到p元素的最后

定位光标代码

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

View Code

window.getSelection() IE9已经支持

不定位可能发生以下情况

<div contenteditable spellcheck="false"> 111111 <p><br/></p> </div>

View Code

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 基于Babylonjs自制WebGL3D模型编辑器 - ljzc002

    基于Babylonjs自制WebGL3D模型编辑器 - ljzc002

    2017-05-21 15:01

  • 《人民的名义》---简单的文本分析 - 视野

    《人民的名义》---简单的文本分析 - 视野

    2017-04-22 18:00

  • Angular2 primeNG的p-dropdown的选中值未初始化 - 小蛇君

    Angular2 primeNG的p-dropdown的选中值未初始化 - 小蛇君

    2017-04-02 12:00

  • 多行文本溢出显示省略号(…)全攻略 - 兰梓

    多行文本溢出显示省略号(…)全攻略 - 兰梓

    2017-03-08 14:02

网友点评
/