切换(jquery)选项卡后,JQuery对话框停止打开

时间:2014-04-07 19:35:50

标签: jquery modal-dialog jquery-ui-dialog jquery-ui-tabs

我有一个使用jquery标签的网站。在一个选项卡上,有一个按钮打开一个对话框窗体。对话框表单内容使用.load(url)动态加载。

执行以下步骤后,对话框窗体不再打开:

  1. 使用打开的对话框 - 按钮
  2. 打开选项卡
  3. 导航到另一个标签
  4. 导航回到第1步标签
  5. 在步骤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-accordionbtnCloseDialog

    更新

    单击按钮时,控制台出现SCRIPT5022: cannot call methods on dialog prior to initialization; attempted to call method 'open'错误。

    更新2:

    现在在$("#dialog-form").dialog({});内设置$("#btnOpenDialog").button().click(function(){});后,它“有点”有效。

    在来回切换标签后,第一次按键仍然会返回上面的错误,但是如果你再次点击它(大约两秒左右)后它会突然出现?!

    jquery到底在做什么?初始化对话框不会花这么长时间吗?

0 个答案:

没有答案