【发布时间】:2016-04-07 09:54:42
【问题描述】:
是否有任何事件知道 Kendo UI 已完成加载我的控件,一些 Load_Complete 类型的事件?问题是如果我们这样声明我们的控件:
<input runat="server" type="text" id="dt" />
<script>
$("#dt").kendoDatePicker({
animation: {
close: {
effects: "fadeOut zoom:out",
duration: 300
},
open: {
effects: "fadeIn zoom:in",
duration: 300
}
},
ARIATemplate: "Date: #=kendo.toString(data.current, 'G')#",
culture: "en-US",
format: "MM/dd/yyyy",
parseFormats: "MM/dd/yyyy"
});
</script>
那么,在文档准备就绪时,无法知道此输入框是 Kendo UI 日期选择器,因为在此之前,Kendo 还没有完成将控件转换为日期选择器的过程。一个事件可以告诉我 Kendo UI 已经完成了它的工作,然后我可以很容易地找到控制并使用它们做任何需要做的事情。
注意:要求是全局/通用解决方案。如果我在 Kendo UI 初始化之后放置我的脚本,这种特殊情况(如示例所示)可以很容易地解决,但需要一种解决方案,它可以允许我们在任何地方编写脚本,例如在外部 .js 文件中。
【问题讨论】:
-
好吧,不确定你到底需要什么,但是:a) 你可以试试
$("#dt").data('kendoDatePicker')。如果控制不是剑道控制,它将作为未定义返回。所以你可以写类似if($("#dt").data('kendoDatePicker')) { //kendo date picker exists } else {// kendo date picker not exists}... b) 在剑道控制初始化后触发的 dataBound 事件。您可以调用函数执行后续步骤。 -
@Ademar 所有 Kendo 小部件都没有 dataBound 事件,例如 OP 中的日期选择器,没有 dataBound 事件:(
标签: javascript jquery kendo-ui