【发布时间】:2013-02-07 01:06:44
【问题描述】:
我刚刚开始在某个项目中使用 Kendo-UI 框架,我发现文档在这方面的内容非常糟糕。我试图在我的Kendo.Editor 下添加一些额外的 html(确切地说是按钮),所以每次我创建一个新的时,按钮都会在那里。 Kendo 是否像 ExtJs 一样可扩展,其中为所有组件提供了此类功能(更容易或更难完成但仍然可能)?
【问题讨论】:
标签: javascript jquery kendo-ui
我刚刚开始在某个项目中使用 Kendo-UI 框架,我发现文档在这方面的内容非常糟糕。我试图在我的Kendo.Editor 下添加一些额外的 html(确切地说是按钮),所以每次我创建一个新的时,按钮都会在那里。 Kendo 是否像 ExtJs 一样可扩展,其中为所有组件提供了此类功能(更容易或更难完成但仍然可能)?
【问题讨论】:
标签: javascript jquery kendo-ui
我对文档和质量有感觉,尽管他们正在努力工作并且一直在改进。
我最近有一些扩展编辑器的经验,它非常简单且可行。
在声明编辑器时,您有一个工具属性。当您输入集成工具的名称时,它只会显示该工具,或者您也可以传入一个对象来定义一个新工具。下面是我创建自定义“插入视频”工具的示例。名称和工具提示属性是不言自明的。 exec 是一个属性,您可以在其中传递一个在单击按钮时执行的函数。我的示例中的 exec 打开了一个自定义剑道窗口,该窗口实现了添加视频的逻辑。它有一个界面,您可以在其中选择 Vimeo 或 Youtube,粘贴到常规链接中,然后将嵌入的视频粘贴到您的编辑器中。基本上,当您在我的窗口中单击“确定”时,会触发一个事件,处理嵌入视频的标记并将其粘贴到编辑器中。在编辑器中粘贴标记的方法是: $("#editor").data("kendoEditor").paste(someString);其中 someString 当然是您要粘贴的内容。它会粘贴到光标当前所在的任何位置。
当然,如果您想要更健壮的东西,您可以在 exec 函数中添加更复杂的代码。就像在这种情况下会为视频窗口创建所有需要的标记,并在关闭后销毁它或类似的东西。
$("#editor").kendoEditor({
tools: [ {
name: "insertVideo",
tooltip: "Insert video",
exec: function(){
var window = $("#windasd").data("kendoWindow");
window.center().open();
}
},'formatBlock', 'bold', 'italic', 'underline', 'createLink', 'unlink', 'insertImage', 'insertUnorderedList', 'insertOrderedList', "justifyLeft",
"justifyCenter",
"justifyRight",
"justifyFull", ],
});
此外,如果您想要自定义图标,则必须添加一些 css。您的按钮将根据您传入的名称自动获得一个 CSS 类。它只是在名称中添加一个“k-”前缀,因此我的名称将是“k-insertVideo”。只需向该类添加背景图像即可。
祝你好运,希望我的帖子对你有所帮助,并且写得不复杂!
【讨论】: