2012-01-21 22 views

回答

2

似乎沒有簡單的方法將按鍵發送到可編輯的iframe,因此您可能需要找到某種解決方法。最簡單的方法是從iframe獲取內容,操作它們,然後將它們放回iframe。

如: 選擇iframe中的所有文本與

var selection = element.execCommand("selectAll"); 

刪除最後一個字符 - 切片選擇

selection = selection.baseNode.data.slice(0, -1) 

刪除所有內容

element.execCommand("Delete") 

追加切片選擇+新文字

element.execCommand("insertHTML",false,selection); 
element.execCommand("insertHTML",false,"some text"); 

參考文獻:

  1. http://msdn.microsoft.com/en-us/library/ie/ms533049(v=vs.85).aspx
  2. https://developer.mozilla.org/en/Rich-Text_Editing_in_Mozilla

附:我非常熟悉可編輯的iframe或選擇對象,因此如果您的文本中有任何特殊字符的html,它可能比這更復雜。你也可能需要爲不同的瀏覽器調整它。

+2

嗨瓦倫蒂娜,謝謝你的回覆。由於我正在製作Chrome擴展程序,因此該解決方案需要僅在Chrome瀏覽器中運行,並且Chrome會在代碼的第二行發出錯誤信息......'無法讀取未定義的屬性'數據'...但我有找到(在搜索結果後),下面的技巧:'element.getSelection()。modify(「extend」,「backward」,「character」);' –

相關問題