Kendo ui 如何自定义十六进制颜色代码的剑道UI编辑器?
我正在开发一个ASP.NETMVC应用程序,它在其中使用KendoUI。我们在它里面使用了一个剑道UI编辑器来编辑丰富的文本。它的用途如下:Kendo ui 如何自定义十六进制颜色代码的剑道UI编辑器?,kendo-ui,editor,kendo-asp.net-mvc,rich-text-editor,kendo-editor,Kendo Ui,Editor,Kendo Asp.net Mvc,Rich Text Editor,Kendo Editor,我正在开发一个ASP.NETMVC应用程序,它在其中使用KendoUI。我们在它里面使用了一个剑道UI编辑器来编辑丰富的文本。它的用途如下: @(Html.Kendo().Editor() .Name("textControl-Source") .Tools(tools => tools.Clear() .Bold().Italic().Underline().Strikethrough() .FontSize().FontColor().Bac
@(Html.Kendo().Editor()
.Name("textControl-Source")
.Tools(tools => tools.Clear()
.Bold().Italic().Underline().Strikethrough()
.FontSize().FontColor().BackColor()
.JustifyLeft().JustifyCenter().JustifyRight().JustifyFull()
.InsertUnorderedList().InsertOrderedList().Indent().Outdent()
.SubScript().SuperScript())
.HtmlAttributes(new { style = "height:240px;width:98.5%", data_mintextlength = "1" })
.Events(events => events
.Change("mediaBoardEditNS.textControlChange")
.Select("mediaBoardEditNS.textControlSelect")
)
)
有一个要求,如果我们可以通过使用十六进制代码来定制它以显示自定义颜色,就像我们在MicrosoftWord字体颜色选择器中所做的那样。我在他们的论坛上搜索了很多东西,但是没有找到任何可靠的东西。如果我遗漏了什么,请告诉我。谢谢这不是一个确切的代码答案,因为我不是100%清楚您的确切要求。我想这可能足以让你走上正轨 如果您的需求更简单,并且只需要在backColor和foreColor工具中包含自定义颜色,那么有一种方法可以自定义可用的调色板。如中所示,您可以自定义调色板,如下所示:
<script>
$("#editor").kendoEditor({
tools: [{
name: "backColor",
palette: ["#f0d0c9", "#e2a293", "#d4735e", "#65281a"],
},
{
name: "foreColor",
palette: ["red", "green", "#d47eee", "#65281a"]
} ]
});
</script>
$(“#编辑”).kendoEditor({
工具:[{
名称:“背景色”,
调色板:[“f0d0c9”、“e2a293”、“d4735e”、“65281a”],
},
{
名称:“前景色”,
调色板:[“红色”、“绿色”、“d47eee”、“65281a”]
} ]
});
然而,我不认为这正是你的要求,正如你提到的,让它像微软Word。不过我会留着它,以防万一我错了
所以,记住这一点。还可以创建自定义工具:
@(Html.Kendo().Editor()
.姓名(“编辑”)
//为简洁起见,其他设置被修剪
.Tools(Tools=>Tools
.Clear()
.CustomTemplate(ct=>ct.Template(“背景:非黄绿色”))
.CustomButton(cb=>cb.Name(“自定义”).ToolTip(“插入水平规则”).Exec(@
职能(e){
var编辑器=$(this.data(“kendoEditor”);
exec(“inserthtml”,{value:
“});
}
))
)
您可以为backColor和foreColor创建一个自定义工具,该工具由其模板中的组成。使用选择器的事件,用户可以选择任何颜色或输入十六进制值,然后单击“应用”,您可以适当设置编辑器backColor/foreColor
与此类似,但是您必须调整它以在模板中工作:
@(Html.Kendo().ColorPicker()
.Name("hsv-picker")
.Value("#22cc22")
.Events(events => events
.Select("pickerSelect")
.Change("pickerChange")
.Open("pickerOpen")
.Close("pickerClose")
)
)
<script>
function pickerChange(e) {
console.log("Change in color palette :: " + e.value);
//UPDATE EDITOR backcolor/forecolor with e.value here
}
</script>
@(Html.Kendo().ColorPicker()
.名称(“hsv选择器”)
.价值(“#22cc22”)
.Events(Events=>Events
.选择(“选择器选择”)
.更改(“pickerChange”)
.打开(“pickerOpen”)
.Close(“pickerClose”)
)
)
函数选择器更改(e){
log(“调色板的变化::”+e.value);
//在此处使用e.value更新编辑器背景色/前景色
}
这不是一个精确的代码答案,因为我不是100%清楚您的确切要求。不过,我认为这可能足以让您走上正确的道路 如果您的要求更简单,并且只需要在backColor和foreColor工具中包含自定义颜色,则有一种方法可以自定义可用的调色板。如中所示,您可以自定义调色板,如下所示:
<script>
$("#editor").kendoEditor({
tools: [{
name: "backColor",
palette: ["#f0d0c9", "#e2a293", "#d4735e", "#65281a"],
},
{
name: "foreColor",
palette: ["red", "green", "#d47eee", "#65281a"]
} ]
});
</script>
$(“#编辑”).kendoEditor({
工具:[{
名称:“背景色”,
调色板:[“f0d0c9”、“e2a293”、“d4735e”、“65281a”],
},
{
名称:“前景色”,
调色板:[“红色”、“绿色”、“d47eee”、“65281a”]
} ]
});
然而,我不认为这就是你的要求,正如你提到的,让它像微软Word一样。不过,我会留着它,以防我错了
因此,记住这一点。还可以创建自定义工具:
@(Html.Kendo().Editor()
.姓名(“编辑”)
//为简洁起见,其他设置被修剪
.Tools(Tools=>Tools
.Clear()
.CustomTemplate(ct=>ct.Template(“背景:非黄绿色”))
.CustomButton(cb=>cb.Name(“自定义”).ToolTip(“插入水平规则”).Exec(@
职能(e){
var编辑器=$(this.data(“kendoEditor”);
exec(“inserthtml”,{value:
“});
}
))
)
您可以为backColor和foreColor创建一个自定义工具,该工具由其模板中的组成。使用选择器的事件,用户可以选择任何颜色或输入十六进制值,然后单击“应用”,您可以适当设置编辑器backColor/foreColor
与此类似,但是您必须调整它以在模板中工作:
@(Html.Kendo().ColorPicker()
.Name("hsv-picker")
.Value("#22cc22")
.Events(events => events
.Select("pickerSelect")
.Change("pickerChange")
.Open("pickerOpen")
.Close("pickerClose")
)
)
<script>
function pickerChange(e) {
console.log("Change in color palette :: " + e.value);
//UPDATE EDITOR backcolor/forecolor with e.value here
}
</script>
@(Html.Kendo().ColorPicker()
.名称(“hsv选择器”)
.价值(“#22cc22”)
.Events(Events=>Events
.选择(“选择器选择”)
.更改(“pickerChange”)
.打开(“pickerOpen”)
.Close(“pickerClose”)
)
)
函数选择器更改(e){
log(“调色板的变化::”+e.value);
//在此处使用e.value更新编辑器背景色/前景色
}