2
$(function () {
    tinymce.init({
        selector: "textarea#description",
        ....
        setup: function (ed) {

        }
    });
});

tinymce.activeEditor.on('keyup', function (e) {
    console.debug("keyup");
});  

上面的代码不起作用。在 tinymce 初始化后,我无法立即添加事件“keyup”。
错误:tinymce.activeEditor 为空。
为什么 ?
我知道这可以在初始化中解决:

setup: function (ed) {
    ed.on('keyup', function (e) {
        console.debug('keyup');
    });
}

但我确实需要将初始化代码与添加事件代码分开。

我该如何做到这一点?

4

1 回答 1

2

这是一个时间问题。您的初始化代码包含在$(function() { ... });其中,这意味着它在页面完成加载后执行。

您添加 keyup 事件的代码会立即执行 - 即在前面的代码运行之前。因此,没有可供您选择的“活动”编辑器。

解决方案:将两个(或两个)代码块都包装在$(function() { ... });.

于 2014-01-08T17:21:02.097 回答