我知道每当我们点击工具提示之外时,有人会要求剑道阻止关闭/隐藏剑道工具提示。他们建议here,但似乎尚未实施。
到目前为止,当我们点击外部剑道工具提示时,我找不到关闭/隐藏的方法。我只发现当我们点击kendo工具提示上的关闭或取消按钮时触发事件。但有没有任何方式/ hackish方式来实现这个使用javascript / jquery / anything?
答案 0 :(得分:1)
就像您在链接中看到的那样,当您执行以下操作时,您包含了剑道工具提示(autoHide: false
属性)隐藏:
在Telerik不实现防止它的功能之前,唯一的方法是使用jquery event.stopImmediatePropagation()
。例如,当你在外面点击时,你可以写下来自hide的块tootlip:
$("#target").kendoTooltip({
autoHide: false
});
$('html').on('mousedown', function(e){
e.stopImmediatePropagation();
});
工作演示:http://dojo.telerik.com/ugUCI
不幸的是,它会阻止任何 html onmousedown事件,例如DropDownLists / ComboBoxes隐藏等。
答案 1 :(得分:0)
您可以覆盖kendo UI弹出类的close函数以防止执行。我的解决方案是在隐藏'中添加自定义异常。处理程序并防止在捕获此自定义异常时发生关闭。
kendo.ui.Popup.fn.close = function (close) {
return function (skipeffects) {
try {
close.call(this, skipeffects);
} catch (err) {
// suppress error if its the right type
if (!(err instanceof PreventTooltipHideException)) {
throw err;
}
}
}
}(kendo.ui.Popup.fn.close);
var tooltip = $('#' + areaId).kendoTooltip({
content: "Hello World!",
hide: function (e) {
throw new PreventTooltipHideException();
},
autoHide: false
});