0

これは、IEでは正常に動作していますが、FFとChromeでは動作しない私の単純なjqueryです

function publishRedirects() {
    if (window.confirm("Are you sure want to publish the redirects?")) {
        callJquery();
    }
}

function callJquery() {
    $('#btnPublish').click(function () {
        $("#dialog").attr('title', 'Publishing').text('Publishing Please Wait').append("<img src='../images/loading11.gif' id='myNewImage' />").dialog({
            draggable: false,
            resizable: false,
            modal: true,
            closeOnEscape: false,
            open: function (event, ui) {
                $("a.ui-dialog-titlebar-close").remove();
            }
        });
    });
}

これは私のHTMLです:

<body> <div id="dialog"></div> <input name="btnPublish" class="button1" type="button" id="btnPublish" value="Publish" onClick="publishRedirects()"> <script type="text/javascript" src="../script/jquery.js"></script> <script type="text/javascript" src="../script/jquery-ui.js"></script> </body>
4

1 に答える 1

1

関数を実行するのではなく、クリックイベントを btnPublish に割り当てているためだと思います。ボタンのクリックで publishRedirects() が呼び出され、ユーザーがダイアログ ボックスを確認した後に callJquery のコードを実行する場合は、次のようになります。

    function callJquery(){
         var obj= $("#dialog");
         obj.attr('title','Publishing');
         obj.text('Publishing Please Wait');
         obj.append("<img src='../images/loading11.gif' id='myNewImage' />");
         obj.dialog({ 
                draggable: false,
                resizable: false,
                modal: true,
                closeOnEscape: false,
                open: function(event, ui) {
                       $("a.ui-dialog-titlebar-close").remove();
                  }
                 });

    }   
于 2012-06-27T10:20:14.390 に答える