tinyMCE: удалить последний вставленный код - PullRequest
1 голос
/ 30 сентября 2011

Исходя из этого: Редактор TinyMCE фиксированного размера без скроллеров?

Как удалить последний вставленный код в tinyMCE?

setup : function(ed){
ed.onKeyDown.add(function (ed, evt) {
            var currentfr=document.getElementById(ed.id + '_ifr');
            if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) { //ns6 syntax
                currentfr.height = currentfr.contentDocument.body.offsetHeight + 26;
            }
            else if (currentfr.Document && currentfr.Document.body.scrollHeight) { //ie5+ syntax
                    currentfr.height = currentfr.Document.body.scrollHeight;
            }
            if( currentfr.height >= 156 ){
                // Remove last inserted code here
            }
});

},

Так что есливысота 156 или больше, это должно удалить то, что вы только что набрали (код).

Как я могу это сделать?

1 Ответ

0 голосов
/ 10 октября 2011

Я сделал несколько тестов, и вот что я придумал:

setup : function(ed){

    ed.onKeyDown.add(function (ed, evt) {
        var currentfr=document.getElementById(ed.id + '_ifr');
        if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) { //ns6 syntax
            currentfr.height = currentfr.contentDocument.body.offsetHeight + 26;
        }
        else if (currentfr.Document && currentfr.Document.body.scrollHeight) { //ie5+ syntax
            currentfr.height = currentfr.Document.body.scrollHeight;
        }
        if (evt.keyCode != 8 && evt.keyCode != 46 && currentfr.height < 156){
          ed.bookmark = ed.selection.getBookmark(2,true);
          ed.latest_content = ed.getContent({format:'raw'});
        }
    });

    ed.onKeyUp.add(function (ed, evt) {
        var currentfr=document.getElementById(ed.id + '_ifr');
        if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) { //ns6 syntax
            currentfr.height = currentfr.contentDocument.body.offsetHeight + 26;
        }
        else if (currentfr.Document && currentfr.Document.body.scrollHeight) { //ie5+ syntax
            currentfr.height = currentfr.Document.body.scrollHeight;
        }
        if( currentfr.height >= 156 && evt.keyCode != 8 && evt.keyCode != 46){
            // Remove last inserted code here
            // save and reset the caret using a bookmark
            ed.setContent(ed.latest_content);
            ed.selection.moveToBookmark(ed.bookmark);
            ed.execCommand('mceCleanup');
        }
    });
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...