javascript - 无法让 jQuery 切换脚本在 jQuery 对话框内运行

标签 javascript jquery dialog

我有一个使用 jQuery 的菜单toggle打开和关闭子菜单的功能。这在我的所有页面中都工作得很好,但是,当我尝试将相同的菜单和子菜单添加到 jQuery 中时dialog box它不会打开子菜单。

这是我的index.php代码,包括 javascript包括来自 <head>页面:

<script src="javascripts/jq/jquery-1.4.2.min.js"></script>
<script src="javascripts/jq/jquery-v1.8.3.js"></script>
<script src="javascripts/jq/jquery-v1.9.2.js"></script>

<p align="center" id="temp_menuOpener">[Click Here to Toggle Menu]</p>

<div id="temp_menu">
    <table cellpadding="0" cellspacing="0" border="0">
        <tr>
        <td class="ui-corner-bl ui-corner-br cus-dialog-content"><?php include("includes/menu.php");?></td>
        </tr>
    </table>
</div>

<script>
    $( "#temp_menu" ).dialog({ autoOpen: false, width: 'inherit'});
    $( "#temp_menuOpener" ).click(function() {
    $( "#temp_menu" ).dialog( "open" );
    });
</script>

这是我的menu.php代码:

<script>
$(function()
    {
    $('.schedOpener').click(function()
        {
        $('div#submenu_sched').toggle();
        });
    });
</script>

<div id="menu">
    <div class="menu schedOpener">
    <img src="/roster/images/menu/schedule.png" border="0" title="Schedule" alt="Schedule">
    </div>

    <div id="submenu_sched">
        <div class="menu">
        <a href="/roster/sched/sched_month.php" target="_parent"><img src="/roster/images/menu/sched_month.png" border="0" title="Schedule Month View" alt="Schedule Month View"></a>
        </div>
    </div>

</div>

submenu_sched 的 CSS设置为display:none; .

所以,就像我说的,这个菜单在添加到 dialog box 之前可以完美地工作。然后就失败了。只需删除 id="temp_menu"来自<div>会使其工作,但这也会将其从 dialog box 中删除.

我尝试将其添加到 jsfiddle,但我无法获取 dialog box即使我选择了jQuery 1.8.3,也无法工作。库框架。因此,我将其设置在我的测试服务器上,以便您至少可以明白我的意思。您会注意到,在我的测试服务器上,菜单和页面本身比我在这里发布的内容更多。我正在努力将静态噪声比保持在良好的水平:)

IWACTITE

最佳答案

好吧,在 jsFiddle 上玩了一段时间后,我已经解决了所有问题。首先,JavaScript 不应该位于对话框内。其次,你必须使用 ($("#temp_menu").dialog("isOpen") == true) ? $("#temp_menu").dialog("close") : $("#temp_menu").dialog("open"); 比较是打开还是关闭对话框。

这是我的工作 jsFiddle 这是全屏版本 jsFiddle .

关于javascript - 无法让 jQuery 切换脚本在 jQuery 对话框内运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14606325/

相关文章:

javascript - 选择更改事件的替代方案

javascript - 使用 JQuery 计算来自外部页面的类

javascript - 忘记密码 php 中的代码不起作用

javascript - 工作人员在 Chrome 中阻塞 UI 线程

javascript - 移动浏览器中 .scroll 函数的问题

bash - 来自 bash 脚本的对话框

jquery - 使用带有工具提示插件的多个标签

javascript - 打开/关闭 Accordion 的外部按钮

html - CSS - 在对话框缩放时将 top 属性值限制为 0

python - 试图在另一个线程 wxpython 中创建一个对话框