2011-09-30 83 views
1

從此後面的:TinyMCE editor fixed size with no scrollers?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或更高,它應該刪除你剛輸入的內容(代碼)。

我怎樣才能做到這一點?

+0

+1很好的問題 – Thariama

回答

0

我做了一些測試,這就是我想出了:

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'); 
     } 
    }); 
}, 
+0

這個工程初步!謝謝..只有如果出現這樣的情況:如果你寫到極限(它通常擴展的地方),那麼滾動條會出現在限制之前,所以你可以看到滾動條。但是它沒關係,我可以忍受它。再一次感謝你!我確定還有其他人也會爲此感謝你的關於這個滾輪: – Karem

+0

我唯一想到的就是設置「overflow-y:scroll;」在編輯器body元素上(使用content_css設置來實現這一點)。這將顯示卷軸永遠不會刺激用戶。 – Thariama