Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何强制剑道UI模式窗口在页面中居中?以及如何禁用所有操作?_Jquery_Kendo Ui_Modal Dialog - Fatal编程技术网

Jquery 如何强制剑道UI模式窗口在页面中居中?以及如何禁用所有操作?

Jquery 如何强制剑道UI模式窗口在页面中居中?以及如何禁用所有操作?,jquery,kendo-ui,modal-dialog,Jquery,Kendo Ui,Modal Dialog,我试图在浏览器的中心显示一个剑道UI模式窗口,但它一直显示在页面的底部,我的意思是窗口唯一可见的部分是顶部的栏,窗口的其余部分是看不见的,只有当你拖动它时,你才能正确地查看它。我没有应用于窗口所用的div的样式,所以我不明白为什么会这样显示 另外,我想禁用窗口顶部栏上的所有操作按钮,尝试设置一个空操作数组,但默认显示关闭按钮,是否有方法仅在顶部栏上显示窗口的标题?我希望窗口中的按钮被单击时消失 这就是我创建窗口的方式: var accessWindow = $("#accessDiv").ken

我试图在浏览器的中心显示一个剑道UI模式窗口,但它一直显示在页面的底部,我的意思是窗口唯一可见的部分是顶部的栏,窗口的其余部分是看不见的,只有当你拖动它时,你才能正确地查看它。我没有应用于窗口所用的div的样式,所以我不明白为什么会这样显示

另外,我想禁用窗口顶部栏上的所有操作按钮,尝试设置一个空操作数组,但默认显示关闭按钮,是否有方法仅在顶部栏上显示窗口的标题?我希望窗口中的按钮被单击时消失

这就是我创建窗口的方式:

var accessWindow = $("#accessDiv").kendoWindow({
    actions: [],
    draggable: true,
    height: "300px",
    modal: true,
    resizable: false,
    title: "Access",
    width: "500px"
});

accessWindow.center();
accessWindow.open();
这是我的div,只有一个标签、一个输入和一个按钮,目前没有应用CSS:

<div id="accessDiv" style=" width: 100%; height: 100%; background-color: #fff;">
    <label>Enter access key</label>
    <input type="text" />
    <input type="button" title="Enter" value="Enter" />
</div>

输入访问密钥

1.您需要交换最后两行代码。首先你们需要打开窗户,然后你们可以把它居中

2.要在不执行任何操作的情况下显示窗口,您需要传递空对象:

actions: {}

你有没有试过把它藏起来,然后居中打开

var accessWindow = $("#accessDiv").kendoWindow({
 actions: {}, /*from Vlad's answer*/
 draggable: true,
 height: "300px",
 modal: true,
 resizable: false,
 title: "Access",
 width: "500px",
 visible: false /*don't show it yet*/
}).data("kendoWindow").center().open();

发件人:

最后两行应为:

accessWindow.data("kendoWindow").center();
accessWindow.data("kendoWindow").open();

下面这个对我有用。如果您不喜欢将其作为模态,请将其设置为false或将其删除

 var window = $("#addBlacklistWind");

   $("#btnAddBlacklist").bind("click", function () {
            window.data("kendoWindow").center().open();
        });

        window.kendoWindow({
            width: "800px",
            title: "Add New Blacklist",
            modal: true,
            visible: false,
            actions: [
                "Maximize",
                "Close"
            ]
        });

空对象不显示任何动作,但窗口一直显示在底部,我想我需要在这方面做更多的说明,当我说“底部”时,我的意思是你只能看到顶部栏,窗口不会显示在浏览器上,直到你拖动它才能查看它。打开窗口,然后执行
.center()
为我工作。非常感谢这条信息+1@VladOmelyanchuuk,当我打开().center()时,我可以看到对话框在屏幕上滑动到中间。我怎样才能防止这种情况发生?你是说.data('kendoWindow').center().open()?但是是的,这解决了问题,如果我想稍微改变它的位置,我应该怎么做?如果你知道XY位置,你可以使用
accessWindow.wrapper.css({top:“100px”,left:“50px”})
。请记住,您可以通过执行
accessWindow.wrapper.position()
来获取位置。如果我关闭并再次打开它,或者甚至访问window.data(“kendoWindow”).center().open(),示例仍然会发现它有时很奇怪;没有按这种顺序为我工作。Vlad在上面的回答是,他说打开窗口,然后居中,使我的窗口居中。@vapcguy,当它先打开,然后居中时,你是如何让它防止滑过窗口的?事实上,对不起,我又看了一遍,看到了
accessWindow.data(“kendoWindow”).center().open()毕竟。不确定顺序是否真正重要,但高度是重要的,因此在从Ajax加载内容的场景中,需要将其强制到某个高度,否则它会尝试将没有高度的内容居中。