【问题标题】:jQuery Editor Plugin - execommand not being calledjQuery 编辑器插件 - 未调用执行命令
【发布时间】:2012-02-20 12:08:56
【问题描述】:

我正在使用 jHTMLArea jQuery 插件 (http://jhtmlarea.codeplex.com/)。它使用嵌入式 iframe 创建了一个简单的 WYSIWYG 编辑器。我想摆脱 iframe 并改用 ContentEditable div。

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

看看http://jsfiddle.net/mwillmott/neXkk/ 看看我的实现。

任何帮助将不胜感激!

【问题讨论】:

    标签: jquery jquery-plugins wysiwyg contenteditable


    【解决方案1】:

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

    document.execCommand("Bold", false, null);
    

    第二个是特定于 IE 的旧版本,几乎总是false。最后一个是与命令关联的值,在“Bold”的情况下可以为 null,因为粗体命令没有值。

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

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

    我在您的演示中添加了针对这些问题的修复:http://jsfiddle.net/neXkk/2/。仅在 Firefox 中测试,您可能需要对 IE 进行更多调整。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-09
      • 2014-08-22
      • 1970-01-01
      • 2018-12-24
      • 1970-01-01
      • 2020-10-18
      • 1970-01-01
      相关资源
      最近更新 更多