2016-07-11 2 views
1

안녕하세요 저는 확인 팝업을 위해 JQUERY Dialog를 사용하고 있습니다. 일반적인 자바 스크립트 파일을 가지고 있는데, window.ShowModalDialog를 호출하는 데 사용되는 함수가 있습니다. 이제 동일한 함수에서 jquery 대화 상자를 호출하지만 비동기 호출이므로 호출 함수는 대화 상자의 값을 수락하지 않고도 값 (예/아니오)을 반환합니다. 나는 적절한 값을 반환 할 수있는 방법 (예/아니오)Jquery Dailog이 Confirmation PopUp에 대해 사용자가 지정한 값을 반환하지 않습니다.

내가 제대로 문제 ... 을 이해하고 뭔가가 잘못되면, 코드의 예를 추가 한 경우

답변

0

이 패턴을 사용해보십시오 :

(function ($, undefined) { 
    $.fn.dialog = function (options) { 
     options = $.extend({}, $.fn.dialog.options, options); 
     return this.each(function() { 
      var dialog = $(this); 
      dialog.children(".ok").click(function (e) { 
       options.ok.call(this, e); 
       dialog.close(); 

      }); 
      dialog.children(".close").click(function (e) { 
       options.close.call(this, e); 
       dialog.close(); 

      }); 

     }); 
    }; 

    $.fn.open = function() { 
     this.get(0).showModal(); 
    }; 

    $.fn.close = function() { 
     this.get(0).close(); 
    }; 

    $.fn.dialog.options = { 
     ok : function() {}, 
     close : function() {} 
    }; 
})(jQuery); 

하고 콜백에 필요한 모든 작업을 수행하지만, callbackhell을 피하기 콜백

var dialog = $(".myDialog").dialog({ 
     ok : function() { 
      alert("ok!!"); 
     } 
    }); 

를 사용하여.

example

관련 문제