温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Html5富文本编辑器的示例分析

发布时间:2021-09-13 16:48:21 来源:亿速云 阅读:170 作者:小新 栏目:web开发

这篇文章给大家分享的是有关Html5富文本编辑器的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

使用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>

View Code

#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>

感谢各位的阅读!关于“Html5富文本编辑器的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI