jQuery编辑器插件-未调用execommand

jQuery编辑器插件-未调用execommand,jquery,jquery-plugins,wysiwyg,contenteditable,Jquery,Jquery Plugins,Wysiwyg,Contenteditable,我正在玩jhtmlareajquery插件(http://jhtmlarea.codeplex.com/). 它使用嵌入的iframe创建了一个非常简单的所见即所得编辑器。我想去掉iframe,改用ContentEditable div 问题是我可以让它运行execcommand函数,以便将格式更改应用于编辑器 看看我的实现 任何帮助都将不胜感激 如果您在Firefox中尝试Firebug,控制台中会显示部分答案。问题在于document.execCommand()需要三个参数: documen

我正在玩jhtmlareajquery插件(http://jhtmlarea.codeplex.com/). 它使用嵌入的iframe创建了一个非常简单的所见即所得编辑器。我想去掉iframe,改用ContentEditable div

问题是我可以让它运行execcommand函数,以便将格式更改应用于编辑器

看看我的实现


任何帮助都将不胜感激

如果您在Firefox中尝试Firebug,控制台中会显示部分答案。问题在于
document.execCommand()
需要三个参数:

document.execCommand("Bold", false, null);
第二个是IE特有的旧版本,几乎总是
false
。最后一个是与命令关联的值,在“Bold”的情况下,该值可以为null,因为Bold命令不接受任何值

另一个更大的问题是,当按下工具栏按钮时,选择被破坏。您需要通过使用
mousedown
事件而不是
单击
,或者更好地通过防止按钮抓住焦点来防止这种情况。例如,见

最后,我认为有一个名为
editor
missing的属性应该是对包含可编辑内容的文档的引用

我已在您的演示中添加了这些修复程序:。仅在Firefox中测试,您可能需要对IE进行更多调整