Chrome execCommand返回错误

时间:2011-10-09 01:24:46

标签: javascript google-chrome getelementbyid execcommand dom

如何在Chrome中使用execCommand()?这是我现在的代码 它用于在按下标签按钮时插入特殊字符

function editAble(supr){
    document.getElementById('codeline').contentEditable='true';
    document.getElementById('codeline').onkeydown=function(e)
        {

        if(e.keyCode==9){
            e.preventDefault();
            range1 = document.getElementById('codeline');
            range1.execCommand("InsertHtml",false,"p");

        }
    }
}

1 个答案:

答案 0 :(得分:2)

execCommand()方法是Document个对象的方法,而不是元素。 IE还提供execCommand()作为其TextRangeControlRange对象的方法,但这些在其他浏览器中不存在。

document.execCommand("InsertHtml", false, "p");

您可能想要考虑当用户之前选择了某些文本时,如果用户按下 Tab 键会发生什么:在这种情况下,您可能希望在插入之前delete the contents of the selection {{3}}制表符。