使用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為空元素時,用戶再次輸出內容還會應用預設規則,這裡要監聽這一狀態,發生時將
定位遊標代碼
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富文本編輯器的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!