1

如何在 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");

        }
    }
}
4

1 回答 1

2

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

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

您可能需要考虑如果用户Tab在之前选择了某些文本时按下键会发生什么:在这种情况下,您可能希望在插入制表符之前删除选择的内容。

于 2011-10-09T09:17:15.623 回答