jQuery - 多个对话框实例无法打开

时间:2014-09-20 14:35:08

标签: javascript jquery dialog

我有以下问题: 我使用对话框在其中显示不同的页面/内容,但是当打开两个不同的对话框时,它会崩溃并且无法再次打开它们。只要打开一个盒子,一切都很好,甚至可以打开多次。当我打开第二个对话框时,它们都不能重新打开。我已经尝试过" destroy"关闭时的对话框(如Jquery Dialog opening multiple dialogs所示),但它没有帮助,我仍然只能打开每个盒子的一个实例,当打开两个不同的实例时,它会崩溃并且它们都不会重新打开。

我在html中有类似的东西:

<ul>
<li><a href="javascript:void(0)" id="link1">link1 title</a></li>
<li><a href="javascript:void(0)" id="link2">link2 title</a></li>
</ul> 

然后在javascript中:

$("#link1").click(function () {
$(function ()    {
        $('<div>').dialog({
            modal: false,
            open: function ()
            {
                $(this).load('somePage.php');
            },         
            height: 500,
            width: 1300,
            title: 'title1'
        });
    });
});
$("#link2").click(function() {
$(function ()    {
        $('<div>').dialog({
            modal: false,
            open: function ()
            {
                $(this).load('otherPage.html');
            },         
            height: 535,
            width: 880,
            title: 'title2'
        });
    });
});

1 个答案:

答案 0 :(得分:1)

您的$(function () {不在正确的位置:

$(function ()    {
    $("#link1").click(function () {
        $('<div>').dialog({
            modal: false,
            open: function ()
            {
                $(this).load('somePage.php');
            },         
            height: 500,
            width: 1300,
            title: 'title1'
        });
    });
    $("#link2").click(function() {
        $('<div>').dialog({
            modal: false,
            open: function ()
            {
                $(this).load('otherPage.html');
            },         
            height: 535,
            width: 880,
            title: 'title2'
        });
    });
});

$(function() {…}内的代码在文档加载时执行,这是在我们的HTML元素上注册事件处理程序的最佳时机。