2014-02-04 1 views
3

У меня была текстовая область, которая была заменена ckeditor. У меня был некоторый jquery, чтобы прослушать ввод текстового поля:Пытается вызвать функцию keyup на ckeditor

$('.formanswer').keyup(function() { 
     LimitText($(this), $(this).attr('data-maxlength')); 
}); 

метод ограничения текста ограничивает ввод текста.

так теперь область текста тег выглядит следующим образом:

<textarea class="formanswer" rows="10" cols="2" id="response_<%: animal.AnimalId.ToString() %>" name="animalresponse" data-maxlength="<%: animal.AnimalMaxLength.ToString() %>"><%: animal.AnimalResponse %></textarea> 

Я пытаюсь сделать то же самое, но с в CKEditor ... Я имел взгляд на документацию: http://docs.ckeditor.com/#!/guide/dev_jquery

Я попробовал несколько разных вещей, чтобы иметь это событие в экземпляре редактора, но он не сработал ... Я использую импрессионизм javascript, а не asp net.

+0

Я только что нашел это: http://ckeditor.com/forums/CKEditor-3.x/handling-keyup-event - собираюсь попробовать – user2405469

+0

Угадайте, я не обращал столько внимания на документацию, как я думал: http://docs.ckeditor.com/#!/api/CKEDITOR.event-method-on - собираюсь попробовать – user2405469

+0

I попробовал это, и это тоже полезно: https://stackoverflow.com/a/11712235/1770571 –

ответ

3

дано название CKEditor является: редактор решения является:

var e = CKEditor.instances['editor'] 

e.on('keyup', function(event) { 
    alert(e.getData()); 
}); 

в данном решении, я просто предупреждая содержимое редактора.

+2

Событие «keyup» не запускается в встроенном редакторе, но «ключ» – salihcenap

1

на самом деле только это работает с CKEditor 4, где editor является идентификатор текстового поля:

CKEDITOR.instances.editor.on('key', function(e) { 
    var self = this; 

    setTimeout(function() { 
     console.log(self.getData()); 
    }, 10); 
}); 

getData возвращает значение в настоящее время занесены. Задержка, поскольку в противном случае последнее значение будет отсутствовать.

1

Это, безусловно, работать на Ск Editor 4.x и выше

CKEDITOR.on('instanceCreated', function (e) { 
    e.editor.on('change', function (event) { 
var value = CKEDITOR.instances['TestArea_id'].getData();//Value of Editor 
}); 
});