tinyMCE:删除最后插入的代码
以下是: 如何删除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)
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设置来实现这一点)。这将显示滚动条始终不会激怒用户。