我有一个使用jquery标签的网站。在一个选项卡上,有一个按钮打开一个对话框窗体。对话框表单内容使用.load(url)
动态加载。
执行以下步骤后,对话框窗体不再打开:
在步骤1中,按钮工作正常,但在导航到其他地方后又突然停止工作。 javascript代码的某些部分必须干扰其他内容,但我不知道是什么。
的index.php:
<script>
$(function()
{
$("#tabs").tabs();
});
</script>
<div id="tabs">
<ul>
<li><a href="main.php">Main</a></li>
<li><a href="somepage.php">Page2</a></li>
<!-- etc. -->
</ul>
</div>
Main.php:
<script src="dialogs.js"></script>
<button id="btnOpenDialog">Open dialog form</button>
<div id="dialog-form"></div>
Dialogs.js:
$(document).ready(function()
{
$("#dialog-form").dialog();
$("#dialog-form").load("dialogcontent.php");
$("#dialog-form-accordion").accordion();
$("#btnOpenDialog").click(function()
{
$("#dialog-form").dialog("open");
});
$("#btnCloseDialog").click(function()
{
$("#dialog-form").dialog("close");
});
});
Dialogcontent.php 包括dialog-form-accordion
和btnCloseDialog
。
更新:
单击按钮时,控制台出现SCRIPT5022: cannot call methods on dialog prior to initialization; attempted to call method 'open'
错误。
更新2:
现在在$("#dialog-form").dialog({});
内设置$("#btnOpenDialog").button().click(function(){});
后,它“有点”有效。
在来回切换标签后,第一次按键仍然会返回上面的错误,但是如果你再次点击它(大约两秒左右)后它会突然出现?!
jquery到底在做什么?初始化对话框不会花这么长时间吗?