Как закрыть окно Kendo из содержимого окна?
У меня есть приложение. Нажав кнопку, я попытался открыть модальное окно кендо. Она открывается. Мое приложение находится в одном домене, а содержимое окна Kendo-из другого домена. Теперь я хочу закрыть модальное окно кнопкой, которая находится внутри окна кендо. Здесь начинается вопрос. Я не могу закрыть модальное окно. Я искал с помощью Google, но не нашел никакого решения - Знаете ли вы его?
2 ответов
после прочтения ваших комментариев к моему предыдущему ответу я думаю, что вы вопрос вводит в заблуждение. Вы говорите о modal
, другой домен и close
button
но из ваших комментариев кажется, что ничего из этого на самом деле не имеет значения. Из ваших комментариев я делаю вывод, что вы хотите разместить button
(на самом деле a close
button
но может быть любой другой) в KendoUI window
и кроме того, вы хотите, чтобы отобразить страницу (случайно) в другом домене. Если это то, что вы действительно хотите-и предвидя проблему, связанную с кросс-доменом и безопасностью - я бы рекомендовал вам использовать content.template
и определите шаблон, включая ваш button
и 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();
});
вы могли бы даже сделать кнопку float
поверх остальной части страницы, определив следующий стиль для close
button
.
#close2 {
position: absolute;
top: 10px;
left: 10px;
z-index: 10000;
}
следующий код JavaScript определяет button
об открытии modal
kendoWindow
. После нажатия кнопки вы можете нажать button
в теле window
для закрытия его, как вы хотите.
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>