TypeError:kendoWindow不是函数

时间:2015-06-05 16:03:19

标签: jquery css xslt kendo-ui

我正试图解决一个让我摸不着头脑的客户端问题。会发生什么,在我的表单上,我单击一个按钮打开一个窗口,我得到了可怕的“TypeError:kendoWindow不是函数”错误。

在发布我的代码之前,我应该提一些关于这个环境的事情:

  • 有问题的按钮包含在最初隐藏的DIV中。因此,该按钮在可见之前不会作为对象存在。
  • 控制它的客户端代码实际上包含在包含OnClick事件的XSLT中。
  • XSLT是通过CMS编辑的,而不是直接在文件中编辑。如果我没弄错的话,XSLT代码实际上存储在数据库中,而不是存储在文件中。
  • 有两个不同的XSLT:一个用于父窗口(为了这篇文章,我将称之为PARENT),一个用于隐藏的DIV代码(我称之为HIDDEN),一旦它生效可见。
所以,这是原始代码。 (注意:我没有写这个;是的,我意识到“窗口”不应该被用作变量名。尽管如此,这确实有效,我不相信这会导致我的问题。)

父母XSLT:

//This is contained within $(document).ready(function()
var window = $("#Sponsor").kendoWindow({
height: "100px",
modal: true,
title: "Choose Sponsor",
visible: false,
width: "500px"
}).data("kendoWindow");

HIDDEN XSLT(这包含在XSL:OnClick属性中):

var window = $('#Sponsor').data('kendoWindow');window.center();window.open();

意识到使用“window”作为变量可能是个问题,我把它改成了这样:

PARENT:

var kSponWin= $("#Sponsor");
if (!kSponWin.data("kendoWindow")) {
kSponWin.kendoWindow({
height: "100px",
modal: true,
title: "Choose Sponsor",
visible: false,
width: "500px"
}).data("kendoWindow");
}

HIDDEN:

kSponWin.center().open();
没什么'做'。唯一的区别是现在我的错误是“kSponWin.kendoWindow”而不是“window.kendoWindow不是函数。”

所以有人知道我应该做什么吗?这个问题使我无法进行测试。

提前致谢。 。

1 个答案:

答案 0 :(得分:6)

我发现了我的问题。

我去了Telerik的网站,发现了这个:JavaScript error that Kendo widgets are unavailable or undefined

所以,我看看是否有多个jQuery引用。果然,我找到了一个。我把它删除了,看哪,我的代码又开始工作了。