检测和操作 CKEditor 区域
我需要编写一个 javascript 函数,该函数可以查看页面(CKEditor)上的所见即所得(CKEditor),该页面在使用 Drupal WYSIWYG 模块加载后呈现。我在使用 jQuery 时遇到困难,甚至找不到编辑器。
$(textarea#textarea-id).change 或 .keyup 不执行任何操作。
我可以这样做:
console.log(CKEDITOR.instances);
这至少向我展示了 CKEditor 附加到的实例。之后我似乎无法引用任何内容:
CKEDITOR.instances.myinstance-name 或 CKEDITOR.instances[0] 都返回未定义。
我已经转了两个小时了,不知道还能尝试什么。
我想做的就是当用户键入(keyup)时,计算输入的字符数。如果输入大于一定长度,我想在文本中强制换行。
我该如何实施呢?我认为这会相当简单。
使用我见过的其他示例:
for (var i in CKEDITOR.instances) {
CKEDITOR.instances[i].on('change', function() {alert('test 1 2 3')});
}
导致没有警报。
编辑器正在 iframe 中加载/显示(通过 Drupal 中的 CKEditor/WYSIWYG)。
I need to write a javascript function that can look at the WYSIWYG on the page (CKEditor) that is rendered after the page loads with the Drupal WYSIWYG module. I am having difficulty using jQuery even finding the editor.
$(textarea#textarea-id).change or .keyup do nothing.
I can do this:
console.log(CKEDITOR.instances);
That at least shows me the instance where CKEditor is attaching itself to. I can't seem to reference anything after that:
CKEDITOR.instances.myinstance-name or CKEDITOR.instances[0] both return undefined.
I've gone in circles for 2 hours now and not sure what else to try.
All I want to do is when the user is typing (keyup), count the characters input. If the input is greater than a certain length, I want to force a line break right in the text.
How can I go about implementing this? I thought it would be fairly straightforward.
Using other examples I have seen:
for (var i in CKEDITOR.instances) {
CKEDITOR.instances[i].on('change', function() {alert('test 1 2 3')});
}
Resulted in no alert.
The editor is being loaded/displayed in an iframe (via CKEditor/WYSIWYG in Drupal).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有一个插件可以为 CKEditor 提供 onChange 事件,您可以找到它(以及说明)这里。
它建议使用这样的代码:
There's a plugin available that provides an onChange event for CKEditor, you can find it (along with instructions) here.
It suggests using code like this: