CKEditor keyup事件和从内联编辑器捕获数据
CKEditor keyup event and capturing data from inline editors
我试图创建一个具有多个内联CKEditor字段的文档,keyup正在把我扔进一个循环。"key"事件工作正常(但不会输入最后一个字符),但是"keyup"根本不会被捕获,除非我使用editor.document。On,这是其他几个答案乐意提供的答案。
不幸的是,由于我有多个(超过13个)可能的字段,事件似乎除了事件本身之外没有返回任何东西。没有目标信息(我需要ID传递给我的保存数据函数),也没有编辑器(检索内容)。
目标是在输入数据时保存并验证输入的数据。在我的脑海中,我称它们为字段,但它们都是div(因此内联编辑)。
Javascript:$(function(){
CKEDITOR.disableAutoInline = true;
$("div[contenteditable='true']" ).each(function( index ) {
var content_id = $(this).attr('id');
CKEDITOR.inline( content_id, {
customConfig: '/majors/ckconfig.js'} );
});
CKEDITOR.document.on('keyup', function(event){
console.log(event.editor.getData()); // need to get the data, and the ID of the element.
});
});
为什么不使用editor#change event呢?
var editor = CKEDITOR.inline( content_id,
{ customConfig: '/majors/ckconfig.js' } );
editor.on( 'change', function() {
console.log( editor.getData() );
} );
对于keydown,如果您仍然感兴趣,可以直接向可编辑元素添加侦听器:
var editor = CKEDITOR.inline( content_id,
{ customConfig: '/majors/ckconfig.js' } );
editor.on( 'contentDom', function() {
var editable = editor.editable();
editable.attachListener( editable, 'keyup', function() {
console.log( editor.getData() );
} );
} );
在editable#attachListener
方法文档中阅读更多使用的方法。
相关文章:
- 如何在corona sdk中从CK编辑器中检索数据
- 通过CK编辑器获取值和存储数据
- 使用AngularJs在自定义TinyMCE编辑器中添加动态数据
- JSON数据应该覆盖JSON模式吗?(通过jdorn/json编辑器使用模式和数据)
- jQuery数据表编辑器未初始化
- 如何正确显示由 Redactor JQuery 编辑器编辑的数据
- 如何从WMD编辑器将数据保存在数据库中
- 如何处理来自文本编辑器的数据存储在数据库中并在以后显示
- 通过php将创建的行保存在数据表编辑器中
- Ace编辑器-如何传递事件数据
- CK编辑器无法获取数据
- 文本编辑器插件,允许数据与另一个插件交互
- 富文本编辑器(使用YUI简单文本编辑器)未将数据发送到下一页
- 数据表编辑器未发送ID
- 需要帮助解析jquery数据表编辑器数据
- CKEditor keyup事件和从内联编辑器捕获数据
- 在CK编辑器中访问选项卡数据
- Tinymce编辑器检索数据从数据库问题[striping反斜杠]
- CKEditor -获取编辑器数据和自定义小部件
- ACE编辑器未显示JSON数据