我正在使用kendo ui编辑器控件。最初我只显示可编辑区域和隐藏编辑器工具栏,如
<style>
.k-editor-toolbar
{
display:none;
}
</style>
我在kendo ui编辑器的选择功能中表示如
$("#editor").kendoEditor({
select: function(e){
$(".k-editor-toolbar").show();
}
});
除了kendo ui编辑器中的可编辑区域外,我想隐藏正文上的工具栏。我试过像
$('body').on('click', ':not(#editor)', function () {
$(".k-editor-toolbar").hide();
});
但这不起作用。在选择工具栏中的下拉列表时,它也隐藏了。当我点击工具栏上的任何东西时,我不想隐藏工具栏。我怎么能这样做
答案 0 :(得分:0)
这很有意思。 DropDownList
使用的Editor
实际上是SelectBox
。这意味着我必须改为使用.data('kendoSelectBox')
。
这是 fiddle 。这是代码:
$(function () {
var $log = $('#log'), fontDDL, isOpen = false;
$("#editor").kendoEditor({
select: function (e) {
$(".k-editor-toolbar").show();
$('#log').prepend('<div>Focused</div>');
}
});
fontDDL = $('[data-role=selectbox]').data('kendoSelectBox');
fontDDL.bind('open', function () {
isOpen = true;
$(".k-editor-toolbar").show();
$('#log').prepend('<div>Opened</div>');
});
fontDDL.bind('close', function () {
isOpen = false;
$(".k-editor-toolbar").hide();
$('#log').prepend('<div>Closed</div>');
});
$($('.k-editor').find('iframe')[0].contentWindow).blur(function () {
$('#log').prepend('<div>Blurred</div>');
// Kind of a hack because there's no better way to hook into the font
// dropdownlist open event and it is triggered after the blur. Tweak
// the timeout value to whatever works best for you. 200ms
// is slightly conservative
setTimeout(function () {
$('#log').prepend('<div>Is font DDL open? ' + isOpen + '</div>');
if (!isOpen) {
$(".k-editor-toolbar").hide();
}
}, 200);
});
});
答案 1 :(得分:0)
$scope.$on('kendoWidgetCreated', function(event, widget) {
$('.k-editor-toolbar').hide();
}