jQuery用于存储textarea的初始值
在下面的脚本中,我希望保持HTMLSTROTOCPRE的初始值为静态,以便它不会更改。但是,编辑文本区域后,撤消操作将不再将原始文本粘贴回文本区域。我相信这是因为htmlstrotcpre是基于调用undoTOC函数时textarea的html(),而不是页面加载的初始值 如何存储初始值,以便始终将其粘贴回textarea(通过undoTOC函数)jQuery用于存储textarea的初始值,jquery,Jquery,在下面的脚本中,我希望保持HTMLSTROTOCPRE的初始值为静态,以便它不会更改。但是,编辑文本区域后,撤消操作将不再将原始文本粘贴回文本区域。我相信这是因为htmlstrotcpre是基于调用undoTOC函数时textarea的html(),而不是页面加载的初始值 如何存储初始值,以便始终将其粘贴回textarea(通过undoTOC函数) jQuery(文档).ready(函数() { var pageurl=jQuery(“#sample permalink”).text(); v
jQuery(文档).ready(函数()
{
var pageurl=jQuery(“#sample permalink”).text();
var htmlstrotcpre=jQuery(“#cb2_customTOC”).html();
var htmlstroc='目录\n';
HTMLSTROC+='\n';
HTMLSTROC+='\n';
HTMLSTROC+='\n';
HTMLSTROC+='\n';
HTMLSTROC+='
';
var checkTOC=函数()
{
jQuery(“#cb2_customTOC”).html(htmlStrTOC);
}
jQuery(#cb-toc-click”).bind(“click”,checkTOC);
var undoTOC=函数()
{
jQuery(“#cb2_customTOC”).html(htmlstrotcpre);
}
jQuery(#cb toc undo”).bind(“单击”,undoTOC);
目录
.cb toc{颜色:蓝色;文本装饰:下划线;光标:指针;}
一些初始值
粘贴目录|撤消
http://localhost:8888/test/
在文本区域上使用.val()
而不是.html()
。然后将其存储在该文本区域的.data()
中
保存:
$('#id').data('oldvalue',$('#id').val());
检索和重置:
$('#id').val($('#id').data('oldvalue'));
在文本区域上使用.val()
而不是.html()
。然后将其存储在该文本区域的.data()
中
保存:
$('#id').data('oldvalue',$('#id').val());
检索和重置:
$('#id').val($('#id').data('oldvalue'));
在这里,您将找到我的解决方案:,顺便说一句,我将在下面更正您的代码
jQuery(document).ready(function()
{
var pageurl = jQuery("#sample-permalink").text();
var htmlStrTOCpre = jQuery("#cb2_customTOC").text();
var htmlStrTOC = '<h3>Table of Contents</h3>\n';
htmlStrTOC += '<ul>\n';
htmlStrTOC += ' <li><a href="'+pageurl+'">Introduction </a></li>\n';
htmlStrTOC += ' <li><a href="'+pageurl+'2/">Introduction </a></li>\n';
htmlStrTOC += ' <li><a href="'+pageurl+'3/">Conclusion </a></li>\n';
htmlStrTOC += '</ul>';
var checkTOC = function()
{
jQuery("#cb2_customTOC").val(htmlStrTOC);
}
jQuery("#cb-toc-click").bind("click", checkTOC);
var undoTOC = function()
{
jQuery("#cb2_customTOC").val(htmlStrTOCpre);
}
jQuery("#cb-toc-undo").bind("click", undoTOC);
})
<div id="post_TOC" class="postbox ">
<h3 class="hndle"><span>Table of Contents</span></h3>
<div class="inside">
<style>
.cb-toc{color:blue;text-decoration:underline;cursor:pointer;}
</style>
<div class="inside">
<textarea name="cb2_customTOC" id="cb2_customTOC">Default text</textarea>
<span class="cb-toc" id="cb-toc-click">Paste TOC</span> | <span class="cb-toc" id="cb-toc-undo">Undo</span></p>
</div>
</div>
jQuery(文档).ready(函数()
{
var pageurl=jQuery(“#sample permalink”).text();
var htmlstrotcpre=jQuery(“#cb2_customTOC”).text();
var htmlstroc='目录\n';
HTMLSTROC+='\n';
HTMLSTROC+='\n';
HTMLSTROC+='\n';
HTMLSTROC+='\n';
HTMLSTROC+='
';
var checkTOC=函数()
{
jQuery(“#cb2_customTOC”).val(htmlStrTOC);
}
jQuery(#cb-toc-click”).bind(“click”,checkTOC);
var undoTOC=函数()
{
jQuery(“#cb2_customTOC”).val(htmlstrotcpre);
}
jQuery(#cb toc undo”).bind(“单击”,undoTOC);
})
目录
.cb toc{颜色:蓝色;文本装饰:下划线;光标:指针;}
默认文本
粘贴目录|撤消
http://localhost:8888/test/在这里,您将找到我的解决方案:,顺便说一句,我将在下面更正您的代码
jQuery(document).ready(function()
{
var pageurl = jQuery("#sample-permalink").text();
var htmlStrTOCpre = jQuery("#cb2_customTOC").text();
var htmlStrTOC = '<h3>Table of Contents</h3>\n';
htmlStrTOC += '<ul>\n';
htmlStrTOC += ' <li><a href="'+pageurl+'">Introduction </a></li>\n';
htmlStrTOC += ' <li><a href="'+pageurl+'2/">Introduction </a></li>\n';
htmlStrTOC += ' <li><a href="'+pageurl+'3/">Conclusion </a></li>\n';
htmlStrTOC += '</ul>';
var checkTOC = function()
{
jQuery("#cb2_customTOC").val(htmlStrTOC);
}
jQuery("#cb-toc-click").bind("click", checkTOC);
var undoTOC = function()
{
jQuery("#cb2_customTOC").val(htmlStrTOCpre);
}
jQuery("#cb-toc-undo").bind("click", undoTOC);
})
<div id="post_TOC" class="postbox ">
<h3 class="hndle"><span>Table of Contents</span></h3>
<div class="inside">
<style>
.cb-toc{color:blue;text-decoration:underline;cursor:pointer;}
</style>
<div class="inside">
<textarea name="cb2_customTOC" id="cb2_customTOC">Default text</textarea>
<span class="cb-toc" id="cb-toc-click">Paste TOC</span> | <span class="cb-toc" id="cb-toc-undo">Undo</span></p>
</div>
</div>
jQuery(文档).ready(函数()
{
var pageurl=jQuery(“#sample permalink”).text();
var htmlstrotcpre=jQuery(“#cb2_customTOC”).text();
var htmlstroc='目录\n';
HTMLSTROC+='\n';
HTMLSTROC+='\n';
HTMLSTROC+='\n';
HTMLSTROC+='\n';
HTMLSTROC+='
';
var checkTOC=函数()
{
jQuery(“#cb2_customTOC”).val(htmlStrTOC);
}
jQuery(#cb-toc-click”).bind(“click”,checkTOC);
var undoTOC=函数()
{
jQuery(“#cb2_customTOC”).val(htmlstrotcpre);
}
jQuery(#cb toc undo”).bind(“单击”,undoTOC);
})
目录
.cb toc{颜色:蓝色;文本装饰:下划线;光标:指针;}
默认文本
粘贴目录|撤消
http://localhost:8888/test/问题是一旦编辑了文本区域,textarea的内容就会更改val()。我需要将textarea的初始内容存储在一个常量中,以便在以后更改textarea内容时不会受到影响。但是您创建了空的
textarea
(没有aby文本可复制)。但它可能并不总是空的。一旦它与一个值一起保存,它将成为下一页加载时的初始值。我更新了问题,将textarea的初始值设置为任意值。我问题的核心是"如何将textarea的初始内容存储在静态变量中,使其不受未来对textarea内容的更改的影响?是的,但在开始时您将其设置为空,以便通过undoTOC
函数复制和粘贴空值,这就是为什么您看不到任何更改,并且您可能认为您的代码是错误的。请检查我的答案以了解更多信息工作示例问题是,一旦编辑文本区域,文本区域的内容就会更改val()。我需要将文本区域的初始内容存储在一个常量中,以便在以后更改文本区域内容时不会受到影响。但是您创建了空的textarea
(没有要复制的aby文本)。但它可能并不总是空的。一旦它与一个值一起保存,它将成为下一页加载时的初始值。我更新了问题,将textarea的初始值设置为任意值。我问题的核心是"如何将textarea的初始内容存储在静态变量中,使其不受未来对textarea内容的更改的影响?是的,但在开始时您将其设置为空,以便通过undoTOC
函数复制和粘贴空值,这就是为什么您看不到任何更改,并且您可能认为您的代码是错误的。请检查我的答案以了解更多信息工作示例问题是,一旦您在文本区域中键入,粘贴和撤消将不再工作。为什么?请立即尝试更新的代码,使用val()
代替text()
和html()
设置值问题是,一旦您在文本区域中键入,粘贴和撤消将不再工作。为什么?现在请尝试更新代码,使用val()
代替text()
和html()
设置值