1

是否有一种简单快捷的方法可以将 onchange 事件添加到 CKeditor。

当文本发生变化时,我想做点什么?谢谢

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
    <script src="js/ckeditor/ckeditor.js" type="text/javascript"></script>
    <script src="js/ckeditor/adapters/jquery.js" type="text/javascript"></script>
    <script type="text/javascript">
    //<![CDATA[
   $(function () {
        var config = {
            toolbar:
                    [
                        ['Bold', 'Italic', '-', 'NumberedList', 'BulletedList']
                    ],
            width: 600,
            height: 400,
            resize: false
        };

        $('.jquery_ckeditor').ckeditor(config);


        CKEDITOR.instances[0].on('change', function () {
            alert("test");
        });





    });

    //]]>
    </script>
</head>
<body>
    <textarea class="jquery_ckeditor" cols="80" id="editor1" name="editor1" rows="10">&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="http://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea>
</body>
</html>
4

4 回答 4

0

编辑. 对不起,我以前的答案版本不正确。

我发现这不是 CKEDITOR 的标准 onchange 事件。取而代之的是,您可以借助 textarea 的另一个事件来模拟它。例如,您可以使用事件“keydown”。

通过将 CKEDITOR 的代码更改为下一个代码来尝试它:

CKEDITOR.instances[idOfTextarea].document.on('keydown', function() {alert('text')});

更多信息

于 2012-08-16T19:33:23.643 回答
0

您的代码中有一个错误:

CKEDITOR.instances[0]

实例是一个对象,你可以通过键获取值(编辑器)。

将其替换为

CKEDITOR.instances[yourInstanceName]
于 2014-07-02T09:12:10.453 回答
0
CKEDITOR.instances.editor1.on('change', function() { 
    console.log("TEST");
});
于 2019-12-13T05:40:22.270 回答
0

CKEditor 提供events了他们文档中提到的各种内容。

Change Event: 当编辑器的内容改变时触发。

由于性能原因,无法验证内容是否真的发生了变化。相反,编辑器会观察几个通常会导致更改的编辑操作。因此,在某些情况下,此事件可能会在没有发生更改时被触发,甚至可能会被触发两次。

如果不要太频繁地触发更改事件很重要,您应该在事件侦听器中比较以前和当前的编辑器内容。不建议在每个更改事件上都这样做。

请注意,更改事件仅在所见即所得模式下触发。为了在源代码模式下实现类似的功能,您可以监听例如键事件或本机输入事件(Internet Explorer 8 不支持)。

CKEDITOR.instances.editor1.on('change', function () {
    // operations
});

editor1是元素idtextareainstance元素的。

于 2020-02-11T07:36:14.523 回答