CKEditor: Как отключить сочетания клавиш?

Кто-нибудь знает, как отключить все сочетания клавиш в CKEditor 3.4.1?

Спасибо


person Kyaw Thurein    schedule 07.03.2011    source источник


Ответы (2)


Замените CKEditor.config.keystrokes пустым массивом:

CKEDITOR.config.keystrokes = [];

См. plugins_keystrokes_plugin.js, строка 195.

person jensgram    schedule 07.03.2011
comment
Кстати, есть ли способ, если я хочу отключить нажатия клавиш определенного экземпляра? - person Kyaw Thurein; 07.03.2011
comment
Ой. Я понял. CKEDITOR.instances.textarea_id.config.keystrokes = []; - person Kyaw Thurein; 07.03.2011

Вы можете сделать это следующим образом:

var isCtrl = false;

$('#your_textarea_id').ckeditor(function ()
{

    editor.on( 'contentDom', function( evt )
    {
        editor.document.on( 'keyup', function(event)
        {
            if(event.data.$.keyCode == 17) isCtrl=false;
        });

        editor.document.on( 'keydown', function(event)
        {
            if(event.data.$.keyCode == 17) isCtrl=true;
            if(event.data.$.keyCode == 83 && isCtrl == true)
            {
                //The preventDefault() call prevents the browser's save popup to appear.
                //The try statement fixes a weird IE error.
                try {
                    event.data.$.preventDefault();
                } catch(err) {}

                //Call to your save function

                return false;
            }
        });

    }, editor.element.$);
});

Прочтите этот пост, чтобы узнать больше.

person picardo    schedule 07.03.2011
comment
это имеет тот же эффект: $('#your_textarea_id').ckeditor(function () { this.on('key', function (event) { if (event.data.keyCode == CKEDITOR.CTRL + 83) { event.cancel(); } }); }); - person Filip Cornelissen; 15.06.2012