Froala 添加自定义预编码按钮

2024-04-30

我正在尝试创建一个代码按钮Froala http://editor.froala.com/编辑器基本上可以通过按执行与此处相同的操作CNTRL+K。现在我想我有两个选择。

第一个是编辑 froala-editor.js 文件,因为 Froala 已经有一个“代码”按钮,该按钮仅添加<pre>标签。如果我能以某种方式让它也添加<code>标签,问题解决。不幸的是我没有让它发挥作用。

第二个选项是创建一个自定义按钮,到目前为止我有这段代码:

$('textarea[name="description"]').editable({
    //Settings here
    customButtons: {
        insertCode: {
            title: 'Insert code',
            icon: {
                type: 'font',
                value: 'fa fa-code'
            },
            callback: function() {
                this.saveSelection();

                if (!this.selectionInEditor()) {
                    this.$element.focus(); // Focus on editor if it's not.
                }

                var html = '<pre><code>' + this.text() + ' </code></pre>';

                this.restoreSelection();
                this.insertHTML(html);
                this.saveUndoStep();
            }
        }
    }
});

它以某种方式工作,但它有缺陷并且会产生奇怪的 html,如下所示:

<p><code></code>
  <pre><code>asdasdasdasd
</code></pre>
</p>

任何帮助完成选项一或选项二的帮助将不胜感激。


如果您升级到 Github 上提供的版本 1.2.3,您的代码应该可以工作https://github.com/froala/wysiwyg-editor https://github.com/froala/wysiwyg-editor。无需保存/恢复选择。


稍后编辑: 这是一个 jsFiddlehttp://jsfiddle.net/9pmmg1jk/ http://jsfiddle.net/9pmmg1jk/.

customButtons: {
  insertCode: {
    title: 'Insert code',
      icon: {
        type: 'font',
          value: 'fa fa-code'
      },
        callback: function() {
          if (!this.selectionInEditor()) {
            this.$element.focus(); // Focus on editor if it's not.
          }

          var html = '<code>' + (this.text() || '&#8203;') + '<span class="f-marker" data-type="false" data-id="0" data-fr-verified="true"></span><span class="f-marker" data-type="true" data-id="0" data-fr-verified="true"></span></code>';

          this.insertHTML(html);
          this.restoreSelectionByMarkers();
          this.saveUndoStep();
        }
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Froala 添加自定义预编码按钮 的相关文章

  • 带有添加新选项卡按钮 (+) 的 TabControl

    在 WPF 中选项卡控件的选项卡条中的所有选项卡项的末尾添加 按钮选项卡的正确方法是什么 它应该可以正确地处理多个选项卡标题行 它应该位于所有选项卡项目的末尾 Tab cycling should work correctly Alt Ta
  • 如何左对齐 Angular Material 拉伸 md 按钮中的文本?

    无需过多修改我自己的 CSS 是否有一个属性或配置可以用来左对齐文本md按钮 https material angularjs org latest api material components button directive mdBu
  • 让按钮更容易点击

    我有一个按钮 在某些手机上由于尺寸太大而很难点击 但让它变大会破坏布局 可以向视图解释它有一个比其可见区域更大的 点击框 吗 不确定这是否有帮助 如果您使用没有背景的 ImageButton 并设置 Padding 值 您的按钮将具有更大的
  • Android ToggleButton 始终检查

    如果切换按钮处于选中或取消选中状态 我想存储在 SharedPreferences 中 toggle setOnCheckedChangeListener new OnCheckedChangeListener public void on
  • JavaFX 中的 -fx-background-radius 和 -fx-background-insets

    我正在使用 JavaFX 我想自定义一个按钮 我看到了几个可以设计的特征 其中我发现了两个我不认识的人 button fx padding 5 22 5 22 fx border color 121212 fx border width 2
  • Javafx 从 TextField 获取输入

    这是我当前的代码 它所做的只是为我制作的计算器设置一个 GUI 界面 我希望用户输入两个值 然后当按下 Sum 按钮时 它将两个值加在一起并将其显示在 Sum 文本字段中 我正在尝试使用 JavaFX 如果您能提供一些帮助 我将不胜感激 i
  • 如何使用 Angular JS 单击时将 html 模板附加到 div/指令?

    我有这种情况
  • 将按钮文本放在一行上

    我的按钮文本在 safari 中显示在一行上 即使在初次单击后 但是在 google chrome 上 当您第一次到达该按 钮时 我的按钮将显示在一行上 但是当您浏览更多帖子并再次遇到 加载更多 按钮时 文本搞砸了 这只发生在谷歌浏览器上
  • 内容自动分类

    我正在开发一个脚本 从我所属的特定 meetup com 组的消息存档中提取消息 http www meetup com opencoffee messages archive http www meetup com opencoffee
  • 有谁知道在哪里定义硬件、版本和序列号。 /proc/cpuinfo 的字段?

    我想确保我的 proc cpuinfo 是准确的 目前它输出 Hardware am335xevm Revision 0000 Serial 0000000000000000 我可以在代码中的哪里更改它以给出实际值 这取决于 Linux 的
  • 在代码中旋转按钮(或其中的文本)

    我必须通过编码随机旋转按钮 或里面的文本 它是相同的 API级别低于11是否有button setRotate x 好吧 看了一下 答案是 很复杂 您可以使用旧的动画框架旋转按钮 例如像这样 Button button Button fin
  • TinyMCE 的 addButton() 函数中所有可能的设置属性是什么?

    The 文档 http www tinymce com wiki php API3 method tinymce Editor addButton对此还不是很清楚 name 字符串 要添加的按钮名称 设置 对象 带有标题 cmd 的设置对象
  • 禁用 Angular 2 中的按钮

    我想如果输入 合同类型 为空 则 保存 按钮不可点击 保存按钮 div class col md 4 div
  • 如何在运行时更改按钮的颜色? [复制]

    这个问题在这里已经有答案了 button1 Button root text A1 width 8 grid row 0 column 0 button2 Button root text A2 width 8 grid row 0 col
  • Visual Studio 中列表框的上移、下移按钮[重复]

    这个问题在这里已经有答案了 我正在尝试制作一个上移按钮和一个下移按钮 以移动 Microsoft Visual Studio 2012 中列表框中的选定项目 我已经在 WDF jquery winforms 和其他一些表单中看到了其他示例
  • JavaFX HTMLEditor - 插入图像功能

    我正在使用 JavaFX 集成的 HTMLEditor 它具有的所有功能都很好 但我还需要具有在 HTML 文本中插入图像的功能 你知道我可以使用的一些来源吗 或者其他一些可以在 JavaFX 中使用的 HTML WYSIWYG 编辑器并且
  • GNU Global 和 GTAGS 找不到类定义

    我在全局查找类 结构定义时遇到问题 我可以使用丰富的 ctags 和 cscope 找到它们 所有标记文件都是从相同的源文件列表构建的 我配置并构建了全局等 仅指定了 prefix configure 确实发现了 exhuberant 并且
  • 解析 XML 标签不匹配时出错

  • 跨多个控件共享事件处理程序

    在我用 C 编写的 Windows 窗体应用程序中 我有一堆按钮 当用户的鼠标悬停在按钮上时 我希望按钮的边框发生变化 目前我有以下多个实例 每个按钮一个副本 private void btnStopServer MouseEnter ob
  • 如何更改 div 悬停时的跨度颜色

    我正在尝试更改 div 悬停时跨度的颜色 如何使红色汉堡按钮 即跨度 在 div 悬停时将颜色更改为黑色 PS 现在它在跨度的悬停上执行此操作 JSFiddle https jsfiddle net bjjbqct8 https jsfid

随机推荐

  • 如何使用 Vapor 3 处理多部分请求

    我是一名 Vapor 初学者 我选择从 Vapor 3 rc 开始 因为它似乎破坏了 Vaport 2 的更改 不幸的是 目前还没有完整的文档 我目前正在尝试将一个简单的 txt 文件从 Postman 上传到我的 Vapor 3 本地服务
  • 使 QLabel 可点击

    我有一个充满 QPixmap 的 Qlabel 我想在单击该标签后启动一个进程 函数 我扩展了 QLabel 类 如下所示 from PyQt5 QtCore import from PyQt5 QtWidgets import from
  • python celery - 导入错误:没有名为 _curses 的模块 - 尝试运行 manage.py celeryev 时

    背景 视窗 7 x 64 Python 2 7 姜戈1 4 Celery 与 Redis 捆绑包 在尝试运行 manage py celeryev 时 我在终端中收到以下错误 import curses File c Python2 lib
  • 使用 LinkedIn REST API 更新个人资料

    是否可以通过 LinkedIn API 更新个人资料的教育 专业和 或经验 我可以正常进行正常的 GET 调用 我在这里问是因为他们网站上的文档没有产生任何结果 而 Stackoverflow 会有更多的实践经验 编辑 进一步的搜索使我发现
  • 懒惰评估不那么懒惰吗?

    我一直听说 C 使用惰性求值 所以对于某些代码 比如if true DoExpensiveOperation 将返回true不执行DoExpensiveOperation 在面试测试中我看到了以下问题 static bool WriteIf
  • 在PC上的Firefox上模拟Android的Webview?

    作为我的软件开发工作 针对 Android 的一部分 我需要在通过 Android 的 WebView 查看时检查大量 HTML 页面的内容 到目前为止 我已经能够通过将 HTML 内容转储到文件中来实现这一点 data data
  • 在链接服务器上执行 SP 并将其放入临时表中

    需要有关以下问题的一些帮助 Case 1 存储过程位于服务器 1 上 调用来自服务器 1 declare tempCountry table countryname char 50 insert into tempCountry exec
  • AspectJ - 接口实现方法的切入点

    我有 SomeInterface 的几个实现 问题是 在 SomeInterface 的所有实现中 executeSomething 方法的切入点是什么 public class SomeImplementation implements
  • 为什么 mongoDB 节点驱动程序会创建不需要的连接?

    当我尝试使用版本 3 6 0 中的 mongodb Nodejs 本机驱动程序建立与数据库的单个 mongodb 连接时 遇到了一种奇怪的问题 我的想法是在所有客户端会话中只打开一个连接 并在我的 Express 服务器中的不同路由中重用它
  • 是否可以在 Android 或 Blackberry 上运行小程序?

    Java站点是这样的java com http www java com says KVM 移动设备的虚拟机 与 JVM Java 虚拟机 相对应 它用于在移动设备上运行用 Java 技术编写的小程序和应用程序 KVM 必须由制造商安装 它
  • TypeScript 出现错误 TS2304:找不到名称“require”

    我正在尝试启动并运行我的第一个 TypeScript 和 DefinelyTyped Node js 应用程序 但遇到了一些错误 当我尝试转译简单的 TypeScript Node js 页面时 收到错误 TS2304 找不到名称 requ
  • 如何在可组合项中使用 hilt 注入单例

    我正在尝试注入一个在可组合项内的 hiltmodule 中定义的单例类 我知道如何注入视图模型 但是单例类呢 Inject lateinit var mysingleton MySingletonClass 该代码在活动中运行良好 但将其从
  • Protractor e2e 测试登录重定向

    目前有部分端到端测试 输入用户名 密码并单击 登录 它成功完成了这一操作 但在 谢谢您已登录 页面结束 而不是像我通过浏览器登录那样被重定向到 帐户门户 或 仪表板 这个项目是新的 但我们正在使用 OAuth 主要问题 这听起来像是需要 h
  • 将 NodeJS Rest 服务与 wso2 集成

    我的其余 Web 服务都是用 Nodejs 编写的 我想为这些 API 实现基于角色的 管理员 用户 超级管理员等 授权 如何将 wso2 与 NodeJS 一起使用 您可以使用 WSO2 API Manager 来实现此目的 这是一篇不错
  • Swagger @ApiOperation 可以允许在 Java 中指定列表的列表吗?

    我在 Java 类中有一个方法 其签名如下所示 我想为其添加 Swagger Rest 文档 public List
  • 在 pandas 中重新采样

    我在另一个话题上问了一个问题Link https stackoverflow com questions 33446776 how to resample starting from the first element in pandas
  • 无法在 odoo 10 Windows 中执行命令 lessc

    我想问一下在windows上安装odoo 10的问题 我有这样的错误 无法执行命令 lessc 我在另一篇文章中看到过这个问题 但他们的文章只是讨论 mac 和 ubuntu 服务器 而不是在 Windows 中 任何人都可以帮我解决这个
  • 在 ios 应用程序中将 UIImagePickerController 锁定为纵向模式

    在我的 IOS 应用程序中 当我打开相机时 我已将图像放置在相机视图上 在肖像模式下看起来不错 但当它变成横向模式时 看起来就有些奇怪了 所以我想锁定UIImagePickerController在肖像模式下 以下是我的 ui 图像选择器控
  • 数据库中的编码 HTML 返回页面

    我在数据库中有以下编码 lt p gt Content lt span style quot color ffffff quot gt lt span style quot background color ff0000 quot gt 1
  • Froala 添加自定义预编码按钮

    我正在尝试创建一个代码按钮Froala http editor froala com 编辑器基本上可以通过按执行与此处相同的操作CNTRL K 现在我想我有两个选择 第一个是编辑 froala editor js 文件 因为 Froala