jquery – Textarea中的新行将被转换为

这里有很多线程关于转换br />或保留不同语言的换行符,但对textarea不多。

我有这个脚本:

var BoxText = "";
$("textarea.BoxText").live('dblclick',function () {
    BoxText = $(this).val().replace(/ /g,"<br/>");
  $(this).replaceWith( '<div class="BoxText">' + $(this).val() + '</div>' );

});
$("div.BoxText").live('dblclick',function () {
  $(this).replaceWith( '<textarea form="HTML" class="BoxText">' + BoxText + '</textarea>' );
});

我有一个textarea元素,可编辑。当用户双击它时,它会转换为div。但是,在div中,换行符不会保留。我想转换只是新的行,目前,所有的空间正在转换。我有一个第二个脚本,将其转换回textarea,因此存储字符串的变量。我需要将其重新转换为新行。

这可能是多余的,但我有一个很好的理由。

解决方法

这将替换换行符到HTML断开标记。不同的组合覆盖不同的浏览器/系统以及如何解释换行符。
$(this).val().replace(/\r\n|\r|\n/g,"<br />")

这将使它回到新的行 – 也涵盖不同的浏览器如何解释innerHTML。

BoxText.replace(/<br\s?\/?>/g,"\n");

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...