Javascript Chrome execCommand返回错误

Javascript Chrome execCommand返回错误,javascript,google-chrome,getelementbyid,execcommand,dom,Javascript,Google Chrome,Getelementbyid,Execcommand,Dom,如何在Chrome中使用execCommand()?这是我现在的代码 它用于在点击tab按钮时插入特殊字符 function editAble(supr){ document.getElementById('codeline').contentEditable='true'; document.getElementById('codeline').onkeydown=function(e) { if(e.keyCode==9){

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

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");

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

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

<>你可能想考虑如果用户在选择了一些文本之前按下TAB键会发生什么情况:在这种情况下,你可能想在插入标签字符之前。

我明白你的意思,我只知道如何正确地处理它。我觉得我所拥有的应该有用,但它只是。。。不。此外,在除chrome之外的其他浏览器中,如果我将contentEditable区域设置为pre,则选项卡在没有JavaScript的情况下工作