【问题标题】:Override ENTER key handling in CKEditor dialog在 CKEditor 对话框中覆盖 ENTER 键处理
【发布时间】:2011-07-27 10:18:14
【问题描述】:

我正在向 CKEditor 3.6 对话框文本输入框添加自动完成功能。 问题是无法使用 ENTER 键从列表中选择一个值,因为它会关闭对话框并且所有 ENTER 键事件都停止冒泡 dom。 我可以在 _source/plugins/dialog/plugin.js 中看到:

// ESC, ENTER
var preventKeyBubblingKeys = { 27 :1, 13 :1 };
var preventKeyBubbling = function( e )
{                        
    if ( e.data.getKeystroke() in preventKeyBubblingKeys )
        e.data.stopPropagation();
};

有没有办法在不更改原始代码的情况下覆盖此行为? 也欢迎任何其他想法!

【问题讨论】:

    标签: javascript keyboard-shortcuts ckeditor


    【解决方案1】:

    看来我必须将所有对话框内容放在 iframe 中才能解决这个问题。 如果防止冒泡的键列表是可配置的而不是硬编码的,那就太好了。

    【讨论】:

      【解决方案2】:

      对于 CKEditor 4,我通过在自动完成工作时禁用 OK 按钮并在输入失去焦点时再次启用它来解决此问题:

      CKEDITOR.dialog.getCurrent().getButton("ok").disable(); CKEDITOR.dialog.getCurrent().getButton("ok").enable();

      【讨论】:

        猜你喜欢
        • 2020-06-28
        • 1970-01-01
        • 2017-10-14
        • 2011-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-11
        • 1970-01-01
        相关资源
        最近更新 更多