撤消div标签

时间:2015-08-19 15:39:47

标签: javascript html

我有div标记contentEditable = 'true'。当我从键盘输入文本然后调用undo函数(document.execCommand('undo',false, null))时,我输入的所有文本都将被删除。我想撤消输入的最后一个字符。我怎么能这样做?

function doUNDO() 
{
    document.execCommand('undo',false, null);
}
<!DOCTYPE html>
<html>
    <head>
        <script src="formulas.js"></script>
        <link rel="stylesheet" href="styles.css" type="text/css" media="screen" />
    </head>
    <body id="main" spellcheck="false"> 
        <span contenteditable="false">
            <button onclick="doUNDO()">UNDO</button>
        </span> 

        <div id = "mainDiv"contenteditable="true">a</div>  
    </body>
</html>

1 个答案:

答案 0 :(得分:-1)

doUndo()而不是调用execCommand,你可以删除div中的最后一个字符,如果它不是空的。

E.g。

function doUNDO() {
    var mainDIV = document.getElementById('mainDiv') 
    mainDIV.innerHTML = mainDIV.innerHTML.substr(0, mainDIV.innerHTML.length - 1);

}