Сохранение разрыва строки на местном хранении - PullRequest
1 голос
/ 17 февраля 2012

Так что я пытаюсь сделать простую заметку, используя localalstorage, где вы можете печатать и она автоматически сохраняет.

У меня возникает проблема, когда я нажимаю перевод строки.Локальное хранилище не применяет разрыв строки.

HTML:

<div contenteditable="true" class="s_content">Type something, press linebreak and type something again. Then refresh</div>​

JS:

$('div.s_content').text(localStorage.getItem ("foo"))

$("div.s_content").on("keyup paste", function () {
localStorage.setItem ("foo", $('div.s_content').text())
});​

Пример: http://jsfiddle.net/z2e6Y/

Попробуйтенаберите что-нибудь, нажмите return и наберите что-нибудь еще.Затем обновите страницу.

Как я могу применить <br> / line-break к локальному хранилищу?

Ответы [ 2 ]

2 голосов
/ 17 февраля 2012

Измените оба ваших вызова .text () на .html (), и он должен работать:

$('div.s_content').html(localStorage.getItem ("foo"))

$("div.s_content").on("keyup paste", function () {
   localStorage.setItem ("foo", $('div.s_content').html());
});​

http://jsfiddle.net/k4dWX/3/

Поскольку вы используете тег, данныевнутри HTML, а не просто текст.Поэтому вам нужно установить содержимое div.s_content в HTML с помощью тегов br или div, а не просто разрывы строк.Если вы извлекаете текст откуда-то еще, вам нужно сначала преобразовать разрывы строк в теги br или div.

0 голосов
/ 17 февраля 2012

я понял, что у меня вопрос,

Сохранение данных в вызове Ajax,

передать значение, как это,

if u use 
    $('#container').html(); // You ll get html tags with text
    //like this-----------> teste<br><br><br>r
else
    $('#container').text(); //  You ll get only  text
    //like this -----------> tester

try console and check buddy,

console.log('----------->'+$('#container').html());
console.log('----------->'+$('#container').text());


Your coding:

$('div.s_content').text(localStorage.getItem ("foo"))


$("div.s_content").on("keyup paste", function () {
    localStorage.setItem ("foo", $('div.s_content').html()) // changes has to Here text to html
});
...