【发布时间】:2015-12-16 08:33:26
【问题描述】:
我正在使用 textarea 为元素创建实时内容编辑器,但如果输入的值是 > 或 < 之类的符号或混合这些符号和文本,则其输出与预期不同只是文本,那么它不会替换而不是加倍。
这里是Fiddle
这里是jquery代码:
$("#changer").on("change keyup paste", function () {
// get current element
var thehtml = $("#tochange").html();
var thetext = $("#tochange").contents().filter(function () {
return this.nodeType === 3;
}).text().trim();
var thechange = $(this).val();
// if has element, then keep it, add text and put back
var thepurehtml = thehtml.replace(thetext, "");
var theoutput = thechange;
if ($.trim(thepurehtml) != '') {
var theoutput = thechange + thepurehtml;
}
$("#tochange").html("").html(theoutput);
return;
});
是什么原因造成的,如何解决?
PS:我需要具备var theoutput = thechange + thepurehtml;这一行的功能,因为有时编辑的元素有html元素,而不仅仅是空白或文本节点。
【问题讨论】:
-
请检查这个。如果您的座右铭是通过文本区域编辑 html。希望fddle能帮到你
标签: javascript jquery html onchange symbols