Chrome execCommand возвращает ошибку - PullRequest
1 голос
/ 09 октября 2011

Как использовать execCommand () в Chrome? Вот код у меня сейчас Он используется для вставки специального символа при нажатии кнопки табуляции

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 Ответ

2 голосов
/ 09 октября 2011

Метод execCommand() - это метод Document объектов, а не элементов. IE также предоставляет execCommand() в качестве метода объектов TextRange и ControlRange, но их нет в других браузерах.

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

Вы можете рассмотреть, что произойдет, если пользователь нажимает клавишу Tab , когда пользователь предварительно выделил какой-то текст: в этом случае вы, вероятно, захотите удалить содержимое выделения перед вставкой символа табуляции.

...