检测和操作CKEditor区域

时间:2011-09-16 20:10:54

标签: javascript jquery drupal drupal-7 wysiwyg

我需要编写一个javascript函数,它可以查看页面上的WYSIWYG(CKEditor),该函数是在使用Drupal WYSIWYG模块加载页面后呈现的。即使找到编辑器,我也很难使用jQuery。

$(textarea#textarea-id).change或.keyup什么都不做。

我可以这样做:

console.log(CKEDITOR.instances);

至少向我展示了CKEditor附加到的实例。在那之后我似乎无法引用任何东西:

CKEDITOR.instances.myinstance-name或CKEDITOR.instances [0]都返回undefined。

我现在已经圈了2个小时,不知道还有什么可以尝试。

我想要做的就是当用户输入(keyup)时,计算输入的字符数。如果输入大于某个长度,我想在文本中强制换行。

我该如何实施?我认为这将是相当简单的。

使用我见过的其他例子:

for (var i in CKEDITOR.instances) {
  CKEDITOR.instances[i].on('change', function() {alert('test 1 2 3')});
}

在没有警报的情况下导致。

编辑器正在iframe中加载/显示(通过Drupal中的CKEditor / WYSIWYG)。

1 个答案:

答案 0 :(得分:1)

有一个插件可用于为CKEditor提供onChange事件,您可以找到它(以及说明)here

它建议使用这样的代码:

editor.on( 'saveSnapshot', function(e) { somethingChanged(); });