我正在使用带有主干视图的 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 表示法从主干视图访问模型,即使在绑定之后也不成功:
this.model.set(name, value);
我什至尝试将方法添加到视图中的 bindAll :
_.bindAll(this, 'render', 'synchModelWysiwyg')
无论如何,似乎因为tinymce正在触发synchModelWysiwyg方法而不是主干,所以“this”并没有像我想要的那样被绑定。
关于如何在 synchModelWysiwyg 方法中处理视图的“this”的任何建议?
我的回退是在保存时收集所有所见即所得的值,但我试图避免这种情况以保持一致。