Rumah > hujung hadapan web > Tutorial H5 > H5富文本编辑器的详细介绍

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

零下一度
Lepaskan: 2017-07-21 14:10:04
asal
3521 orang telah melayarinya

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

<div  contenteditable id="editor">
   </div>
Salin selepas log masuk

样式代码

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

* chrome 49下测试有效

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

<div  contenteditable id="editor" spellcheck="false"><p><br/></p></div>
Salin selepas log masuk

默认规则如下

否则将直接作为#editor元素的文本节点,即<div  contenteditable id="editor" spellcheck="false">文本内容</div>同事点击Enter将新增div元素,即<div  contenteditable id="editor" spellcheck="false">文本内容<div></div></div>
Salin selepas log masuk
View Code

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


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

定位光标代码

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

    range.selectAllChildren(element);
    range.collapseToEnd();
    
}
Salin selepas log masuk

window.getSelection() IE9已经支持

不定位可能发生以下情况

<div  contenteditable id="editor" spellcheck="false">
    111111
    <p><br/></p>
</div>
Salin selepas log masuk

Atas ialah kandungan terperinci H5富文本编辑器的详细介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan