假设我在contenteditable模式中有一个元素,并且我不想对DOM进行一些操作,同时使更改可以撤消。我尝试了一般的createNode,appendChild,removeChild,setAttribute,但它们似乎无法撤销......
有没有办法让这些操作可以撤消?怎么样?
答案 0 :(得分:0)
不要让整个元素满足,使每个元素的后代成为可信的,例如:
<div id = 'main' >
<div id = 'child1' ></div>
<div id = 'child2' ></div>
</div>
在这里你应该让child1和chil2满足,这样他们将保留在dow中,你可以将元素附加到主要内容而不用担心它们会被删除。
答案 1 :(得分:0)
将旧值存储在变量中,这样您就可以撤消&#34;撤消&#34;通过恢复该值。
您可以通过在Cookie / localstorage中的json字符串中保存列ID和旧值来使可撤销状态保持不变。
答案 2 :(得分:0)
<textarea id="div" contenteditable="true" >
</textarea>
<p id="p">dd </p>
的CSS:
#div {
width:300px;
height:260px;
border:2px solid #ff9000;
}
jsvascript:
var div = document.getElementById("div");
div.onkeypress = function(evt){
var words = [];
evt = evt.keyCode;
var event = String.fromCharCode(evt);
// alert(event);
words.push(event);
}
我将为此添加更多...