如何在Telerik编辑器上使用knockoutjs绑定
How to use knockoutjs binding on a Telerik editor?
我正在尝试为描述字段实现就地编辑功能,其中使用telerik mvc编辑器进行编辑。除非用户单击代表可编辑部分的跨度,否则编辑器需要隐藏。完成后,隐藏编辑器并将标记的条目放置在可编辑元素中。
我不知道在哪里应用敲除绑定,这样无论输入到telerik编辑器中的内容都会在编辑器隐藏后显示在跨度中。编辑器创建一个iframe,其中包含在用户输入内容时生成的标记html。转换后的标记以html编码值的形式存储在iframe外部的文本区域中。
如果尝试将绑定添加到生成的文本区域,但没有看到绑定了data bind="text:imgDescr"的span正在更新。
Her's the剃须刀视图
<div>
<span data-bind="text: imgDescr"></span>
</div>
<div>
@{ Html.Telerik().Editor()
.Name("editor")
.HtmlAttributes(new {style = "height:400px"})
.Encode(false)
.Render();
}
</div>
和js
function appViewModel() {
this.ImgName = ko.observable(helpText);
this.ImgDescr = ko.observable(helpText);
}
$('t-raw-content').attr('data-bind', "value: ImgDescr");
// Activates knockout.js
ko.applyBindings(new appViewModel());
关于如何做到这一点,有什么建议吗?我也考虑过使用tinyMCE,但我认为渲染是以类似的方式处理的。
如果您的编辑器是tinymce编辑器(?),则向文本区域添加绑定是没有帮助的。您可以使用tinymce.get('editor_id').getContent();
访问编辑器内容,并使用tinymce.get('editor_id').setContent('This is a demo text.');
进行设置
使用这里和这里列出的示例以及knocket wiki提供的tinyMCE的绑定示例,我能够以我需要的方式绑定编辑器。
我缺少的部分内容是jquery.tinymce.js脚本。
绑定是在自定义绑定中完成的,就像上面的例子一样,唯一需要进行绑定的行是
setTimeout(function() { $(element).tinymce(options); }, 0);
在自定义绑定的init部分。
这是我所拥有的一切。这不是jsFiddle中一个完全可用的例子,但显示了我页面上的所有内容。
- 使用KnockoutJS绑定的YUI DataTable
- KnockoutJS绑定每个文档不止一次
- 用于动态引导工具提示的自定义KnockoutJS绑定处理程序
- 将tinyMCE与knockoutjs绑定
- 如何使用knockoutjs绑定嵌套输入
- 使用knockoutjs绑定和显示字典
- 在knockoutjs绑定中使用setters函数
- Knockoutjs 绑定到复杂的 html 对象
- Knockoutjs 绑定对象问题
- KnockoutJS 绑定在我的视图模型实际创建之前应用
- KnockoutJS绑定到键/值对
- KnockoutJS 绑定来自 AJAX 调用的对象列表
- jqueryUI 模态对话框会破坏 Knockoutjs 绑定
- 如何在Telerik编辑器上使用knockoutjs绑定
- 模板渲染后的KnockoutJS绑定事件
- KnockoutJS绑定不使用映射插件进行更新
- Knockoutjs:绑定到模板中数组之外的一个可观察属性
- 选择列表中的KnockoutJs绑定问题
- Knockoutjs绑定问题与表
- 如何从整个穹顶中移除knockoutjs绑定