使用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为空元素时,用户再次输出内容还会应用默认规则,这里要监听这一状态,发生时将<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>
登录后复制
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!
相关教程推荐
- mui的页面跳转方式
- H5的拖放功能详解
- phonegap播放音频详解
- html5新增加的标签有哪些
- H5添加语音输入功能
- H5的localStorage使用总结
- H5最全面解读
- HTML5的data-*自定义属性是什么
- Dreamweaver中设置html网页段落行间距的方法指导
- 带你了解什么是HTML5?
- http的方法,状态码和组成部分
- 利用Html5实现文件异步上传功能代码实例
- 如何利用HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码的功能
- JS之原生数组splice方法实例
- 详解HTML5中表单验证的8种方法介绍
- Vue.directive的自定义指令详解
- html如何定义错误提示
- HTML5设置视频背景的方法介绍
- html5不常用标签可以怎么使用?
- html5是什么意思