Kendo ui 如何从窗口内容中关闭剑道窗口?
我有一份申请。在一个点击的按钮中,我试图打开剑道模式窗口。开门了。我的应用程序位于一个域中,剑道窗口的内容来自另一个域。现在我想用剑道窗口内的按钮关闭模式窗口。问题从这里开始。我无法关闭模式窗口。我使用Google it搜索,但没有找到任何解决方案-你知道吗?以下JavaScript代码定义了一个用于打开Kendo ui 如何从窗口内容中关闭剑道窗口?,kendo-ui,window,Kendo Ui,Window,我有一份申请。在一个点击的按钮中,我试图打开剑道模式窗口。开门了。我的应用程序位于一个域中,剑道窗口的内容来自另一个域。现在我想用剑道窗口内的按钮关闭模式窗口。问题从这里开始。我无法关闭模式窗口。我使用Google it搜索,但没有找到任何解决方案-你知道吗?以下JavaScript代码定义了一个用于打开模式的按钮。单击后,您可以按窗口主体内的按钮,根据需要将其关闭 JavaScript代码: var myWindow = $("#id1").kendoWindow({ title :
模式的按钮。单击后,您可以按窗口主体内的按钮
,根据需要将其关闭
JavaScript代码:
var myWindow = $("#id1").kendoWindow({
title : "hi",
visible: false,
modal : true
}).data("kendoWindow");
$("#open").on("click", function () {
console.log("opening");
myWindow.center();
myWindow.open();
});
$("#close").on("click", function () {
console.log("closing");
myWindow.close();
})
以及HTML
:
<a href="#" id="open" class="k-button">Open</a>
<div id="id1">
<p>this is the content of my window</p>
<a href="#" id="close" class="k-button">Close</a>
</div>
这是我窗口的内容
阅读了您对我上一个答案的评论后,我认为您的问题具有误导性。您谈到了另一个域和关闭按钮的模式
,但从您的评论中似乎没有任何相关内容。我从您的评论中得出结论,您希望在KendoUI窗口中放置一个按钮
(实际上是一个关闭按钮
,但可能是任何其他按钮),此外,您还希望显示另一个域中的页面(顺便说一句)。如果这是您真正想要的,并且预见到与跨域和安全性相关的问题,我建议您实际使用content.template
,并定义一个模板,其中包括您的按钮和一个iframe
引用页面www.xyz.com
像这样的
var myWindow2 = $("#id2").kendoWindow({
modal : true,
draggable: false,
content : {
template: '<a href="javascript:void(0);" id="close2" class="k-button">Close</a>' +
'<iframe src="http://www.xyz.com" frameborder="0" class="k-content-frame"></iframe>'
},
visible : false,
width : 400,
height : 200,
resizable: false,
iframe : true
}).data("kendoWindow");
$("#open2").on("click", function () {
myWindow2.center();
myWindow2.open();
});
$("#close2").on("click", function () {
myWindow2.close();
});
非常感谢你的回答。但这并不是我问题的实际解决方案。模态的内容来自另一个域。“关闭”按钮将位于内容内。现在,如何通过单击按钮关闭此模式窗口。如果是同一个域,则不会发生问题。但是父页面和模式窗口在不同的域中。您如何加载内容,iframe
可能?window.kendoWindow({modal:true,animation:false,draggable:false,content:'width:'830px',height:'650px“,可调整大小:false,//title:false,visible:false}).data(“kendoWindow”).title(title.center().open();根据KendoUI文档(请参阅),KendoUI将引入一个用于显示页面的iframe
。如果这是您的情况(我也这么认为),您将受到来自另一个网页的访问容器数据的严重限制(这些问题取决于浏览器-同源策略)。请检查KendoUI是否未使用iframe
来显示窗口的内容。如果是这样,您应该能够使用建议的解决方案,将myWindow
声明为文档的全局(即$(document.ready(function(){…})
,并将定义保留在内部)。亲爱的Onabari非常感谢您的回复。我知道关闭按钮(剑道窗口内容中)无法关闭窗口。我必须在客户端剑道窗口(在顶部或底部)而不是剑道窗口的内容中设置关闭按钮。再次感谢你。
#close2 {
position: absolute;
top: 10px;
left: 10px;
z-index: 10000;
}