2012-01-21 20 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”);' –

相关问题