微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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");

原文地址:https://www.jb51.cc/jquery/183761.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐