我一直在尋找解決方案,但沒有任何工作解決方案。我想檢測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