图像对话框 - 扩展 onOk,而不是完全覆盖

2023-11-21

我发现我可以挂钩onOk有了这个:

editor.on('dialogShow', function (ev)
{
    var name = ev.data.getName();
    var definition = ev.data.definition;

    if (name == 'image')
    {
        definition.onOk = function(e)
        {
            console.log( e );
        };
    }
});

太棒了,除非现在默认行为被删除,导致没有图像被添加到 CK 内容中。

正在检查CK的来源,我不想破坏默认提供的 74 行功能。

我的目标是在附加图像后通过回调简单地运行图像。

复制/粘贴、修改是保留扩展功能的唯一方法,还是还有其他方法?


maximkou 解决方案的小改进:

var oldImplementation = definition.onOk;
definition.onOk = function( e ) {
    oldImplementation.apply( this, [].slice.call( arguments ) );
    console.log( e );
};

This solution is ok and AFAIK it's the cleanest one.

Update:我找到了更好的解决方案 - 有dialog#ok我刚刚了解到的事件:)。因此,您不需要更改对话框的定义 - 您可以像这样绑定事件侦听器:

editor.on('dialogShow', function ( evt ) {
    if ( evt.data.getName() == 'image' ) {
        var listener = evt.data.on( 'ok', function() {
            console.log( 'ok!' );
        } );

        // We need to remove that listener, to avoid duplicating it on
        // next dialogShow.
        evt.data.on( 'hide', function() {
            listener.removeListener();
        } );
    }
} );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

图像对话框 - 扩展 onOk,而不是完全覆盖 的相关文章

  • 使用 vscode 调试器调试 next.js

    我已经使用安装了一个项目创建下一个应用程序 https github com segmentio create next app 我需要使用我的编辑器 vscode 调试服务器端渲染 所以我访问过vscode recipes 如何调试 ne
  • 关闭选项卡时要求确认[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我在某些浏览器上关闭页面时 我希望出现一个消息框 并询问我是否真的要关闭页面 有两个按钮 如果我单击No那么这个标签就不会被关闭 我怎样
  • 如何测试 javascript 闭包内的函数

    这似乎是不可能的 也可能是 但我正在尝试更多的 TDD 但我总是在闭包方面碰壁 假设我有以下内容 function createSomething init function privateMethod param return init
  • 每 3 秒重复一次动画

    我正在使用 WOW js 和 animate css 现在我正在将 CSS 运行到 Infinite 我想知道如何让我的课程运行 3 秒停止并再次开始到无限 My html img src images fork png class for
  • 如何重定向到 instagram://user?username={username}

    我的 html 页面上有这个链接 可以在特定用户上打开 Instagram 应用程序 a href Link to Instagram Profile a 我一直在寻找自动运行 url instagram user username USE
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 使用 jQuery/JS 打开时使
    标签的内容具有动画效果

    我只想要 HTML5 的内容details标记为 滑行 动画打开 而不是仅仅弹出打开 立即出现 这可以用 jQuery Javascript 实现吗 Fiddle http jsfiddle net 9h4Hq HTML
  • 如何防止 Iframe 在与浏览器交互后弄乱浏览器的历史记录?

    因此 就我而言 我使用 Iframe 将 Grafana 附加到我的页面 这为我提供了漂亮且易于使用的图表 可以注意到 每次在图表上进行放大或缩小 使用鼠标单击 交互后 Grafana 的 Iframe 都会在我的 Angular 页面上触
  • 如何监听 jQuery AJAX 请求?

    以下两种实现 ajaxRequest 1 2 的方法应该是等效的 话说回来 为什么验证回调已执行的单元测试 3 在 1 中成功而在 2 中失败 我应该如何重写测试 3 来监视 2 中的成功回调 如果我尝试stub jQuery ajax使用
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • 在requestAnimationFrame中使用clearRect不显示动画

    我正在尝试在 HTML5 画布上做一个简单的 javascript 动画 现在我的画布是分层的 这样当我收到鼠标事件时 背景层不会改变 但带有头像的顶层会移动 如果我使用 requestAnimationFrame 并且不清除屏幕 我会看到
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • 通过 CDN 使用 Dojo 时如何加载自定义 AMD 模块?

    我正在使用 google 的 CDN 并尝试使用他们的加载程序加载我自己的 AMD 模块 我知道我做错了什么 但我被困住了 有任何想法吗
  • Grails 在 javascript 内的 GSP 站点中使用 grails var

    我有一个在 GSP 文件中的 javascript 代码中使用 grails 变量值的问题 例如 我有一个会话值session getAttribute selectedValue 我想在 javascript 代码部分使用这个值 我现在的
  • Electron - 为什么在关闭事件时将 BrowserWindow 实例设置为 null

    The 电子文档 https electronjs org docs api browser window 提供以下代码示例来创建新窗口 const BrowserWindow require electron let win new Br
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • 如何在类似控制台的环境中运行 JavaScript?

    我正在尝试遵循这里的示例 http eloquentjavascript net chapter2 html http eloquentjavascript net chapter2 html and print blah 在浏览器中运行时
  • 有没有办法阻止 prettier / prettier-now 将函数参数分解为新行

    当使用 prettier prettier now 在保存时进行格式化时 当一个函数包装另一个函数时 它会中断到一个新行 我想知道是否有办法阻止这种行为 例如 期望的输出 app get campgrounds id catchAsync
  • 在 vue.js 中访问数组对象属性

    给定以下数组vue js packageMaps Object packageMap 0 Object Id 16 PackageType flag list ProductCode F BannerBase packageMap 1 Ob
  • Javascript 纪元时间(以天为单位)

    我需要以天为单位的纪元时间 迄今为止 我已经看到过有关如何翻译它的帖子 但几天后就没有了 我对纪元时间很不好 我怎么能得到这个 我需要以天为单位的纪元时间 我将解释为您想要自纪元以来的天数 纪元本身是第 0 天 或第 1 天的开始 无论您如

随机推荐

  • MySQL的不同引号

    我对 MySQL 有点陌生 只是想知道它们之间有什么区别 当我在查询中使用它们时 用 你可以写 mysql 变量名 用 你写mysql变量值 例如 SELECT FROM test WHERE x 1
  • 如何使用 Inno Setup 安装 Windows 服务?

    我编写了一个批处理脚本 在使用 Inno Setup 进行安装后执行 问题是我有以下命令行用于创建服务 sc create MySQL start auto DisplayName MySQL binPath C MyApp MySQL 5
  • 检查 Cypress 中的单选按钮

    我对 Javascript 非常陌生 这是我使用 Cypress 的第二周 所以我需要帮助来单击单选按钮 我总是从赛普拉斯那里收到错误 我试图检查的元素如下所示
  • 错误代码:1406。列数据太长 - MySQL

    错误代码 1406 数据对于列来说太长 CREATE TABLE TEST idTEST INT NOT NULL TESTcol VARCHAR 45 NULL PRIMARY KEY idTEST Now Insert一些价值观 INS
  • 在 django 中格式化未修饰的电话号码?

    我有一个数据库 其中包含完整的电话号码作为字符串 它们的格式都类似于 1112223333 我想在我的 django 模板中将其显示为 111 222 3333 我知道我能做到 n contacts objects get name nam
  • 针对 Web 格式化 Python 代码

    直到最近 我使用如下内容将 Python 代码 空格很重要 发布到 blogspot com div table border 0 width 100 tbody tr td pre style font family monaco my
  • 如何将字符串数据发送到 UIButton 标签?

    有什么方法可以将字符串值发送到UIButton标签 我知道tag is Int输入但我需要发送string value let myButton UIButton let button UIButton button tag 123 ret
  • 当拥有身份列不是一个好主意时?

    在仅需要 1 列作为键以及该列中的值的表中can是整数 当你不应该使用标识字段时 相反 在同一个表和列中 您什么时候会手动生成其值并且不会为每个记录使用自动生成的值 我猜想当表中有大量插入和删除时就会出现这种情况 我对吗 还有哪些其他情况
  • 如何使用Python进行简单的http重定向?

    如何使用Python进行简单的http重定向 不使用元 UPDATE I am using Python 2 7 1 as a CGI from within the cgi bin directory of Apache 要使用当前设置
  • 将 php post 数据传递给 javascript 的方法

    所以我想知道 如果我有一个简单的 php 表单将信息发布到某个变量 我如何将该发布的变量传递给 javascript 并能够操作数据 我想出的唯一方法是使用内联javascript和php 但我觉得必须有一种更干净 更优雅的方法来做到这一点
  • 如何在 Android O 中动态更改通知声音

    最近我使用通知通道来支持android O 但问题是我无法动态更改声音 Uri 我们的应用程序有通知声音设置 用户可以根据需要更改应用程序通知声音 但如您所知 Android 现在不允许开发者在用户重新安装应用程序之前更新通知渠道 我在那里
  • JDBC:将日期值插入 MySQL

    我想知道如何使用 Java JDBC 将日期值设置到 MySQL 数据库 以下是我的代码 String lastCrawlDate 2014 01 28 PreparedStatement p con prepareStatement in
  • node.js 将变量暴露给模块?

    我读过很多关于如何在 Node js 中创建模块的文章 您可以使用 module exports 将模块内部公开到包含它的文件中 太棒了 反过来又是如何运作的呢 我将使用以下示例 USER JS function User this pro
  • 在 C# 中获取所有控制器和操作名称

    是否可以以编程方式列出所有控制器的名称及其操作 我想为每个控制器和操作实现数据库驱动的安全性 作为一名开发人员 我知道所有控制器和操作 并且可以将它们添加到数据库表中 但是有什么方法可以自动添加它们吗 下面将提取控制器 操作 属性和返回类型
  • 从字符串创建类的实例

    有没有一种方法可以根据我在运行时知道类的名称这一事实来创建类的实例 基本上我会将类的名称放在字符串中 看看激活器 CreateInstance method
  • 内容变化引起的过渡元素大小

    我有一个按钮 里面有一些文字 当您按下它时 文本会发生变化 这使得按钮的宽度发生变化 如果可以通过如下方式来转换元素宽度的变化 那就太好了 el transition width 150ms ease out 当然 只有当您明确更改widt
  • 记录我的网站上的超链接点击

    我有一个网站 允许其他开发人员在其中托管内容 我的目标是记录页面上存在的每个超链接 甚至是其他开发人员托管的内容 的点击次数 我最初的方法如下 a click function event do my logging return true
  • 计算 3 点 (x,y) 的曲率

    我有一个二维欧几里得空间 给出三点 例如 p2是中间点 Point2D p1 new Point2D Double 177 289 Point2D p2 new Point2D Double 178 290 Point2D p3 new P
  • 将 fullcalendar 与 webpack 结合使用

    我使用 npm webpack 和 FullCalendar 但是在使用 fullcalendar 时 我在浏览器控制台中收到以下错误 main js 37556 Uncaught TypeError 0 jquery2 default f
  • 图像对话框 - 扩展 onOk,而不是完全覆盖

    我发现我可以挂钩onOk有了这个 editor on dialogShow function ev var name ev data getName var definition ev data definition if name ima