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

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

零下一度
Lepaskan: 2017-07-21 14:10:04
asal
3458 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!

sumber:php.cn
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