При dblclick - DIV заменяется на TEXTAREA. Вы можете редактировать текст.
При размытии: TEXTAREA снова заменяется на DIV. И новая строка заменяется на "‹br />".
Первая проблема – в редактируемом тексте – "‹br />" – это не разрыв или новая строка в тексте, а просто текст "‹br". сильный> />". Как это исправить?
Вторая проблема — в примере есть один "‹br />". Когда вы редактируете текст в примере в первый раз, этот "‹br />" не меняется на новую строку, а только на простой пробел (). Почему появляется эта ошибка, когда вы пытаетесь отредактировать текстовый оригинал в первый раз?
HTML
<div id="meText">Click to edit <br /> this text.</div>
jQuery
$(function(){
$("#meText").live('click',function(){
var originalDiv = this;
$(this).replaceWith($("<textarea></textarea>").text($(this).text().replace(/<br\s?\/?>/g,"\n")).width($(this).width()).height($(this).height()).blur(function(){$(this).replaceWith($(originalDiv).text($(this).val().replace(/\r\n|\r|\n/g,"<br />")));}));
});
});