2

JIT(ジャストインタイム)にしたいjqueryダイアログがあります。これは、私にとって最もエレガントな作業方法ですが、このエラーに約2日間費やしましたが、一生できませんそれを理解してください。

隅のXクリックが美しく機能するので、機能するはずです

そう。a)これを修正するのを手伝ってもらえますか、b)キャンセルボタンをXのクリックイベントにバインドする方法を教えてください(そのような問題があったときにこのトリックを以前に使用しましたが、このコントロールにはIDがありませんParent() を使用して階層をブラウズする明白な方法 (見つける方法を知っている) を見つけることができます。

 $(function() {
     var popUrl = 'pop.php?jscriptpopup=true';
     $("#button").click( function () { 
         JQueryDialog(popUrl); 
         return false;
     });        
 });

var dialog;  //<--added in desperation

function JQueryDialog(url){

    $("#dialog").remove();

    $("body").append("<div id='dialog'></div>"); 

    dialog = $("#dialog").dialog({
        resizable: false,
        draggable: false,
        width: 770,
        height: 470,
        context: that,
        modal: true,
        autoOpen: false,
        buttons: {
            "Cancel" : function (){
                $(dialog).("close");    //<--this will not work
                                    //$(this).dialog("close"); <<-- hopeless
                                    //$("#dialog").dialog("close"); <<-- hopeless
                                    //$("#dialog").remove(); <<-- hopeless
            }
        }
    });     

    $.get(url, function(data) {
        $("#dialog").html(data);
        $("#dialog").dialog('open');        
    });     
}
4

1 に答える 1

2

これを死ぬまでやった後、私が投稿した瞬間、私は数秒以内にそれを見つけました - 多くの場合

これは機能します..理由がわからない

function JQueryDialog(url){

    $("#dialog").remove();

    $("body").append("<div id='dialog'></div>"); 

    that = $("#dialog");

    dialog = $("#dialog").dialog({
        resizable: false,
        draggable: false,
        width: 770,
        height: 470,
        context: that,
        modal: true,
        autoOpen: false,
        buttons: {
            "Cancel" : function (){
                that.dialog("close");
            }
        }
    });     

    $.get(url, function(data) {
        $("#dialog").html(data);
        $("#dialog").dialog('open');        
    });     
}
于 2012-06-19T13:49:40.297 に答える