2015-01-15 6 views
1

{overlayClose : false}와 같은 옵션을 사용하여 SimpleModal을 처음 호출하는 경우 나중에 해당 옵션을 {overlayClose : true}로 변경할 수 있습니까?초기화 후 SimpleModal 옵션 변경

AJAX 호출을 시작할 때 SimpleModal을 열고 사용자에게 피드백을 제공하면서 모달이 닫히지 않도록하고 AJAX complete 콜백에서 모달을 닫을 수 있도록 설정하려고합니다.

답변

2

예.하지만 옵션을 변경 한 다음 이벤트 핸들러를 리 바인드하여 옵션 변경 사항을 확인하십시오. 이것을 문서 사이트의 "기본"데모로 해킹했습니다.

$('#basic-modal .basic').click(function (e) { 
    var modal = $('#basic-modal-content').modal(); 
    $('#overclose').text(modal.o.overlayClose ? 'true' : 'false'); 

    window.setTimeout(function() { 
     // These three lines will do it: 
     modal.o.overlayClose = true; 
     modal.unbindEvents(); 
     modal.bindEvents(); 
     $('#overclose').text('true'); 
    }, 5000); 

    return false; 
}); 

5 초 후 옵션이 예상대로 시작됩니다. 나는 또한 "overclose"로 표시되는 지표를 해킹하여 모달 자체에 상태와 변경시기를 보여줍니다.

+0

필자는 필요한 기능에 액세스하기 위해'$ .modal.impl.o'를 사용해야했지만 매력처럼 작동합니다! 수락 됨. – NBarnes

+0

이것이 내가 모달에 대한 참고서가되는 이유입니다. –

0

내가 사용하여 모달 객체를 참조 할 수 있었다 :

$.modal.impl.o.escClose = false; 
$.modal.impl.unbindEvents(); 
$.modal.impl.bindEvents(); 

나를 위해 그것을하지 않았다 jQuery를 선택하여 객체를 참조하는 (O 정의했다).