Я использую редактор tinymce с магистральным представлением. Для других полей формы я привязываю событие изменения к функции, которая поддерживает синхронизацию модели с изменениями в форме:
events: {
"change input": "synchModel",
"change textarea": "synchModel",
"change select": "synchModel"
}
проблема заключается в том, что редактор tinymce эффективно заменяет основную текстовую область, к которой он привязан, поэтому никакие события изменения не запускаются при обновлении содержимого редактора. Чтобы попытаться решить эту проблему аналогично приведенному выше, у меня есть другая функция, связанная с событием изменения tinymce:
$(el).find('.wysiwyg').tinymce({
// Location of TinyMCE script
script_url : 'tiny_mce.js',
theme : "simple",
onchange_callback : "synchModelWysiwyg"
});
Я synchModelWysiwyg. Я безуспешно пытаюсь получить доступ к модели из представления магистрали, используя эту нотацию даже после привязки:
this.model.set(name, value);
Я даже пытался добавить метод в bindAll в представлении:
_.bindAll(this, 'render', 'synchModelWysiwyg')
Во всяком случае, кажется, что, поскольку tinymce запускает метод synchModelWysiwyg, а не основу, «это» не связывается, как мне бы хотелось.
Любые предложения относительно того, как получить дескриптор «этого» для представления в методе synchModelWysiwyg?
Мой запасной вариант - собрать все значения wysiwyg при сохранении, но я пытаюсь избежать этого, чтобы сохранить его согласованность.