1

根据TinyMCE API,以下 JavaScript 代码观察 TinyMCE 编辑器中的变化:

tinyMCE.init({
   ...
   setup : function(ed) {
          ed.onChange.add(function(ed, l) {
                  console.debug('Editor contents was modified. Contents: ' + l.content);
          });
   }
});

但是,我无法使用 js 库从 Dart 运行此代码。帮助表示赞赏。

更新:上面的JS代码有问题。或者,我在这里找到了这个工作代码:

var ed = new tinymce.Editor('textarea_id', { 
  init_setting_item: 1,
}, tinymce.EditorManager);

ed.on('change', function(e) {
  var content = ed.getContent();
  console.log(content);
});

ed.render();

我仍然需要帮助从 Dart 运行代码。并且最好将其结果存储在 Dart 变量中以供后续处理。

4

1 回答 1

2

这是从 Dart 调用的相同代码:

var ed = new js.Proxy(js.context.tinymce.Editor, 'textarea_id', js.map({ 
  'init_setting_item': 1
}), js.context.tinymce.EditorManager);

js.retain(ed); // retain allows to use 'ed' in the following callback
ed.on('change', new js.Callback.many((e) {
  var content = ed.getContent();
  window.console.log(content);
}));

ed.render();
于 2013-06-27T17:04:04.893 回答