【问题标题】:Kendo UI Load Complete eventKendo UI 加载完成事件
【发布时间】: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


【解决方案1】:
if (kendo)
{
//do something
}

if (typeof kendo != 'undefined') {
  // do something
}

应该工作

【讨论】:

  • 它只是告诉Kendo UI框架是否加载,我想知道Kendo UI是否完成了我的控件格式。
  • @yogi 我的错。我误解了这个问题。我将更新我的答案。
猜你喜欢
  • 1970-01-01
  • 2019-11-12
  • 2016-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多