JavaScript实现textarea回车换行转br及contentEditable编辑框回车处理

作者:闭包旅人时间:2026-10-31 03:24:32浏览:398

本文介绍如何使用JavaScript将textarea中的换行符转换为br标签,以及针对微软HTML编辑控件在contentEditable模式下回车插入p标签而非br标签的问题,提供通过onkeypress事件拦截按键并动态插入换行符的解决方案。

1楼


textarea回车换行转br标签处理

使用JavaScript代码将textarea的值中的换行符\n替换为<br>标签,代码如下:textarea.value.replace(/\n/g, "<br>");


2楼


另一种处理方式是将回车换行符\r\n替换为<br>标签,代码示例为:s=textarea.value.replace(/\r\n/g, "<br>");



3楼


实现按下回车键时立即进行替换处理。


contentEditable编辑框回车处理方案

定义一个具有contentEditable="true"属性且边框为1像素实线黑色的div元素,ID为a,代码如下:V ID="a" contentEditable="true" style='border:1 solid black'>


此前已有许多人讨论过此问题,由于代码较多且方法复杂,个人未深入研究的必要。经过实际测试,发现解决起来相对简单。


关于微软HTML编辑控件在单击回车时会插入<p>标签而非<br>标签的解决方案。


展示一个未经过脚本处理的编辑控件,其样式为边框1像素实线黑色,且contentEditable="true",代码如下:<div style='border:1 solid black' contentEditable="true">未经过脚本处理的编辑控件</div>


开始编写JavaScript脚本部分。


定义元素a的onkeypress事件处理函数。


判断按键代码是否为13(即回车键)。


获取当前文档选区范围对象txtobj。


使用三目复合表达式处理:若txtobj.text为空,则将其设置为\n;否则先清除选区再设置txtobj.text为\n,以解决存在选中文字时回车的光标定位问题。


重新创建选区范围并选中,以更新光标位置。


返回false以阻止默认行为。


  }}   

结束脚本标签。


4楼


实现按下回车键时立即进行替换处理。


定义一个具有contentEditable="true"属性且边框为1像素实线黑色的div元素,ID为a,代码如下:V ID="a" contentEditable="true" style='border:1 solid black'>


此前已有许多人讨论过此问题,由于代码较多且方法复杂,个人未深入研究的必要。经过实际测试,发现解决起来相对简单。


关于微软HTML编辑控件在单击回车时会插入<p>标签而非<br>标签的解决方案。


展示一个未经过脚本处理的编辑控件,其样式为边框1像素实线黑色,且contentEditable="true",代码如下:<div style='border:1 solid black' contentEditable="true">未经过脚本处理的编辑控件</div>


开始编写JavaScript脚本部分。


定义元素a的onkeypress事件处理函数。


判断按键代码是否为13(即回车键)。


获取当前文档选区范围对象txtobj。


使用三目复合表达式处理:若txtobj.text为空,则将其设置为\n;否则先清除选区再设置txtobj.text为\n,以解决存在选中文字时回车的光标定位问题。


重新创建选区范围并选中,以更新光标位置。


返回false以阻止默认行为。


  }}   

结束脚本标签。


5楼


实现按下回车键时立即进行替换处理。


定义一个具有contentEditable="true"属性且边框为1像素实线黑色的div元素,ID为a,代码如下:V ID="a" contentEditable="true" style='border:1 solid black'>


此前已有许多人讨论过此问题,由于代码较多且方法复杂,个人未深入研究的必要。经过实际测试,发现解决起来相对简单。


关于微软HTML编辑控件在单击回车时会插入<p>标签而非<br>标签的解决方案。


展示一个未经过脚本处理的编辑控件,其样式为边框1像素实线黑色,且contentEditable="true",代码如下:<div style='border:1 solid black' contentEditable="true">未经过脚本处理的编辑控件</div>


开始编写JavaScript脚本部分。


定义元素a的onkeypress事件处理函数。


判断按键代码是否为13(即回车键)。


获取当前文档选区范围对象txtobj。


使用三目复合表达式处理:若txtobj.text为空,则将其设置为\n;否则先清除选区再设置txtobj.text为\n,以解决存在选中文字时回车的光标定位问题。


重新创建选区范围并选中,以更新光标位置。


返回false以阻止默认行为。


  }}   

结束脚本标签。


作者最新文章