обнаружение изменений с помощью ckeditor - PullRequest
1 голос
/ 08 марта 2011

Я искал решение, чтобы найти решение, но пока без каких-либо рабочих решений.Я хочу определить, была ли изменена текстовая область.Я использую ckeditor, поэтому вы не можете проверить текстовую область.Я нашел что-то в документации, но не смог заставить это работать на меня.

Кто-то когда-либо пытался сделать это раньше, и возможно ли это?

Ответы [ 4 ]

4 голосов
/ 11 марта 2011

После некоторых исследований и поисков в Google нашел подходящий метод.

var content_editor = CKEDITOR.instances['content'];

content_editor.on( 'key', function() {
    change_page = true;
});
2 голосов
/ 14 марта 2011

Я использовал метод jquery ckeditor.

Вот HTML:

<textarea id="txtMessage" class="editor" maxlength="500"></textarea>

и вот код JavaScript:

try {
        var config =
            {
                height: 180,
                width: 515,
                linkShowAdvancedTab: false,
                scayt_autoStartup: true,
                enterMode: Number(2),
                toolbar_Full: [['Styles', 'Bold', 'Italic', 
                                              'Underline', 'SpellChecker', 'Scayt', 
                                              '-', 'NumberedList', 'BulletedList'],
                      ['Link', 'Unlink'], ['Undo', 'Redo', '-', 'SelectAll']]

            };

        $('textarea.editor').ckeditor(config);
        CKEDITOR.instances["txtMessage"].on("instanceReady", InstanceReadyEvent);

    }
    catch (err) {
        alert('Error loading ck editor: ' + err);
    }

    function InstanceReadyEvent() {
        this.document.on("keyup", function () {

            var yourText = CKEDITOR.instances["txtMessage"].getData();
        });
    }

Надеюсь, это поможет.

0 голосов
/ 27 июня 2019

(старый пост, но гугл привел меня сюда)

На официальном сайте у вас есть:

var editor = CKEDITOR.replace( 'editor1' );

// The "change" event is fired whenever a change is made in the editor.
editor.on( 'change', function( evt ) {
    // getData() returns CKEditor's HTML content.
    console.log( 'Total bytes: ' + evt.editor.getData().length );
});
0 голосов
/ 08 марта 2011

Существует функция checkDirty (), которую вы можете «опросить».В противном случае посмотрите на плагин SCAYT, я думаю, что они отслеживают нажатия клавиш.

Но я не знаю о «публичном» событии, которое происходит, зацени;CKEDITOR.dom.event (обработчик событий DOM) CKEDITOR.event (внутренний обработчик событий)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...