我的jQuery对话框总是在浏览器窗口的左上角打开.
以下显示了简化后的代码.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/jquery-ui.css" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"></script>
</head>
<body>
<input id='submit' type="submit" value="Submit">
<div id='dialog'></div>
<script>
$('#submit').click(function(event){
$(function() {
$('#dialog').dialog({
autoOpen: false,
width:500,
height:500,
position:'center'
});
});
$('#dialog').dialog('open');
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
有关我需要做什么的任何想法,以便它打开位于中心?
这是非常1不可能的,这是你的问题的原因,但我有同样的问题,发现在jQuery的ui.js这段代码:
// /1.10.0/jquery-ui.js:
target = $( options.of )
...
// line 12053
if ( target[0].preventDefault ) {
// force left top to allow flipping
options.at = "left top";
}
Run Code Online (Sandbox Code Playgroud)
该位代码检查目标元素是否定义了preventDefault函数.默认情况下,target [0]将等于window对象,该对象没有preventDefault.但是,在我的例子中,我在window对象的全局范围中定义了一个名为preventDefault的函数.我的window.preventDefault导致if-block计算为true,从而覆盖了"center"的默认options.at值.
正如我所说,这是非常1 不可能的,你所定义的函数window.preventDefault,但是这是什么原因造成的我.
1 编辑:基于评论,实际上并非不太可能.很高兴我可以帮助每个人.
用这个
\n\n<input id=\'submit\' type="submit" value="Submit">\n<div id=\'dialog\'></div>\n<script>\n$(\'#submit\').on(\'click\', function(event){\n $(function() {\n $(\'#dialog\').dialog({\n autoOpen: false,\n position:\'center\'\n });\n });\n $(\'#dialog\').dialog(\'open\');\n});\n</script>\xe2\x80\x8b\nRun Code Online (Sandbox Code Playgroud)\n\n问候。
\n| 归档时间: |
|
| 查看次数: |
7565 次 |
| 最近记录: |