我一直在寻找解决方案,但没有任何工作解决方案。我想检测textarea是否已经改变。我使用ckeditor,所以你不能检查textarea本身。我在文档中发现了一些东西,但是我无法为它工作。用ckeditor检测更改
有人曾试图做到这一点,是否有可能?
我一直在寻找解决方案,但没有任何工作解决方案。我想检测textarea是否已经改变。我使用ckeditor,所以你不能检查textarea本身。我在文档中发现了一些东西,但是我无法为它工作。用ckeditor检测更改
有人曾试图做到这一点,是否有可能?
一些研究和大量使用Google一个找到一个合适的方法的后。
var content_editor = CKEDITOR.instances['content'];
content_editor.on('key', function() {
change_page = true;
});
有一个checkDirty()函数可以“轮询”。否则看看SCAYT插件,我认为他们监视击键。
但我不知道发生了“公共”事件,请检查; CKEDITOR.dom.event(DOM事件处理程序) CKEDITOR.event(内部事件处理程序)
我使用了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();
});
}
希望有所帮助。
没有考虑textarea中的文本被编辑器命令改变的情况(例如撤消/重做) – OviC 2013-09-27 09:39:24
@OviC同意。我会为这些做一个单独的听众。 CKeditor最有可能回调它。 – RJD22 2013-09-27 10:08:13