tinyMCE:删除最后插入的代码

tinyMCE:删除最后插入的代码,tinymce,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)

以下是:

如何删除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或更高,则应删除您刚才键入的内容(代码)


我怎样才能做到这一点呢?

我做了一些测试,我得出了以下结论:

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');
        }
    });
},
设置:功能(ed){
ed.onKeyDown.add(函数(ed,evt){
var currentfr=document.getElementById(ed.id+''u ifr');
if(currentfr.contentDocument&¤tfr.contentDocument.body.offsetHeight){//ns6语法
currentfr.height=currentfr.contentDocument.body.offsetHeight+26;
}
else if(currentfr.Document&¤tfr.Document.body.scrollHeight){//ie5+语法
currentfr.height=currentfr.Document.body.scrollHeight;
}
如果(evt.keyCode!=8&&evt.keyCode!=46&¤tfr.height<156){
ed.bookmark=ed.selection.getBookmark(2,true);
ed.latest_content=ed.getContent({格式:'raw'});
}
});
ed.onKeyUp.add(函数(ed,evt){
var currentfr=document.getElementById(ed.id+''u ifr');
if(currentfr.contentDocument&¤tfr.contentDocument.body.offsetHeight){//ns6语法
currentfr.height=currentfr.contentDocument.body.offsetHeight+26;
}
else if(currentfr.Document&¤tfr.Document.body.scrollHeight){//ie5+语法
currentfr.height=currentfr.Document.body.scrollHeight;
}
如果(当前FR.height>=156&&evt.keyCode!=8&&evt.keyCode!=46){
//删除此处最后插入的代码
//使用书签保存并重置插入符号
ed.setContent(ed.latest_content);
ed.selection.moveToBookmark(ed.bookmark);
ed.execCommand('mceCleanup');
}
});
},

这一点在prima有效!谢谢唯一的事情是:如果你写到极限(它通常会扩展),滚动条会在极限之前出现,所以你可以看到滚动条。。但没关系,我可以接受。再次感谢您!我相信还有其他人会为此感谢你:我脑海中闪现的唯一一件事就是在编辑器的body元素上设置“overflow-y:scroll;”(使用content_css设置来实现这一点)。这将显示滚动条始终不会激怒用户。