2013-06-27 3 views
1

Согласно TinyMCE API, следующий код JavaScript наблюдать изменения в редакторе TinyMCE:Наблюдайте изменения в TinyMCE от Dart

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

Однако, я не могу запустить этот код из Dart с помощью JS библиотеки. Помощь приветствуется.

ОБНОВЛЕНИЕ: В приведенном выше JS-коде есть проблема. Кроме того, я нашел рабочий код в here:

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. И предпочтительно сохранять свои результаты в переменной Дарта для последующей обработки.

ответ

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(); 
+0

я не получаю сообщение об ошибке в настоящее время. Но на консоль ничего не выводится. Благодарю. –

+0

Работает ли эквивалентный JS-код? –

+0

Я только что проверил. Эквивалентный код js не работает. К сожалению, я не знаю js, поэтому я не могу найти источник проблемы. –

Смежные вопросы