在本地存储上保存换行符

发布于 2025-01-06 15:24:23 字数 661 浏览 2 评论 0原文

所以我尝试使用本地存储制作一个简单的便签,您可以在其中输入内容并自动保存。

每当我按下换行符时,我都会遇到问题。本地存储不应用换行符。

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/

尝试输入一些内容,按回车键输入更多内容。然后刷新页面。

如何将
/ line-break 应用于本地存储?

So Im trying to make a simple sticky-note thingy using localstorage where you can type and its saves automatically.

I get a problem when ever I press linebreak. Localstorage doesn't apply the line break.

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())
});​

Example: http://jsfiddle.net/z2e6Y/

Try to type something, press return and type something more. Then refresh the page.

How can I apply the <br> / line-break onto localstorage?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

冰葑 2025-01-13 15:24:23

将两个 .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 的内容设置为带有 br 或 div 标签的 HTML,而不仅仅是换行符。如果您从其他地方提取文本,则需要首先将换行符转换为 br 或 div 标签。

Change both of your .text() calls to .html() and it should work:

$('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/

Since you are using is a tag, the data inside is HTML and not just text. So you need to set the content of div.s_content to HTML with br or div tags, rather than just line breaks. If you are pulling the text from somewhere else, you need to convert linebreaks to br or div tags first.

国际总奸 2025-01-13 15:24:23

我知道我有你的问题,

你在 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
});

i thing i got ur question,

Ur saving data in Ajax call,

pass value like this,

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
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文