2

我想调用超链接的 jquery onclick。但现在每次页面加载时都会出现对话框。我使用这个例子中的 jquery 例子

$(function() {
        $( "#dialog-confirm" ).dialog({
            resizable: false,
            width:500,
            height:140,
            modal: true,
            buttons: {
                "Confirm": function() {
                    $( this ).dialog( "close" );
                    autoGeneration();
                },
                Cancel: function() {
                    $( this ).dialog( "close" );
                }
            }
        });
    });

和 HTML:

<div id="dialog-confirm" title="Overwrite?">    <p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>Will be overwrite. continue?</p> </div>

<a href="#" id="dialog-confirm" class="bigButton">AUTO GENERATION</a>

我想在点击下面的链接时调用,并避免每次加载页面时调用对话框。

谢谢大家的回答。

4

4 回答 4

1

将对话框的 autoOpten 选项设置为 false:

$(function() {
    $("#dialog-confirm").dialog({
        autoOpen: false
         //other options
    });
});

更改链接的 id,使其与对话框 div 的 id 不同:

<a href="#" id="openDialog" class="bigButton">AUTO GENERATION</a>

然后只需调用open对话框:

$("#openDialog").click(function(e){
    e.preventDefault();
    $("#dialog-confirm").dialog("open");
});
于 2012-04-12T08:57:43.110 回答
1
$(function() {
        $( "#dialog-box" ).dialog({
            autoOpen: false,
            resizable: false,
            width:500,
            height:140,
            modal: true,
            buttons: {
                "Confirm": function() {
                    $( this ).dialog( "close" );
                    autoGeneration();
                },
                Cancel: function() {
                    $( this ).dialog( "close" );
                }
            }
        });

    $( "#dialog-confirm" ).click(function() {
        $( "#dialog-box" ).dialog( "open" );
        return false;
    });

    });

“链接”和“对话框”需要不同的 ID,因此将对话框确认更改为对话框

<div id="dialog-box" title="Overwrite?">    <p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>Will be overwrite. continue?</p> </div>

<a href="#" id="dialog-confirm" class="bigButton">AUTO GENERATION</a>
于 2012-04-12T08:58:20.647 回答
0

首先autoOpen将对话框的属性设置为false在页面加载时停止打开。

$(function() {
    $( "#dialog-confirm" ).dialog({
        autoOpen: false,
        resizable: false,
        width:500,
        height:140,
        modal: true,
        buttons: {
            "Confirm": function() {
                $( this ).dialog( "close" );
                autoGeneration();
            },
            Cancel: function() {
                $( this ).dialog( "close" );
            }
        }
    });
});

然后在链接的点击处理程序中打开它:

$("#dialog-confirm").click(function(e) {
    e.preventDefault;
    $("#dialog-confirm").dialog('open');
});
于 2012-04-12T08:58:43.330 回答
0

你应该做

    var dialog = $( "#dialog-confirm" ).dialog({
        autoOpen: false,
        resizable: false,
        width:500,
        height:140,
        modal: true,
        buttons: {
            "Confirm": function() {
                $( this ).dialog( "close" );
                autoGeneration();
            },
            Cancel: function() {
                $( this ).dialog( "close" );
            }
        }
    });
  });

$('a.bigButton').click(function(e){
    e.preventDefault();
    dialog.dialog("open");
});
于 2012-04-12T08:59:16.927 回答