다음은 페이지 새로 고침없이 모달을 닫을뿐만 아니라 Enter 키를 누르면 모달을 제출하고 새로 고침없이 닫는 스 니펫입니다.
여러 모달을 가질 수 있고 일부 모달은 제출시 데이터를 처리하고 일부는 그렇지 않은 내 사이트에 설정했습니다. 내가하는 일은 처리를하는 각 모달에 대해 고유 한 ID를 만드는 것입니다. 예를 들어 내 웹 페이지에서 :
HTML (모달 바닥 글) :
<div class="modal-footer form-footer"><br>
<span class="caption">
<button id="PreLoadOrders" class="btn btn-md green btn-right" type="button" disabled>Add to Cart <i class="fa fa-shopping-cart"></i></button>
<button id="ClrHist" class="btn btn-md red btn-right" data-dismiss="modal" data-original-title="" title="Return to Scan Order Entry" type="cancel">Cancel <i class="fa fa-close"></i></a>
</span>
</div>
jQUERY :
$(document).ready(function(){
// Allow enter key to trigger preloadorders form
$(document).keypress(function(e) {
if(e.which == 13) {
e.preventDefault();
if($(".trigger").is(".ok"))
$("#PreLoadOrders").trigger("click");
else
return;
}
});
});
보시다시피이 제출은 처리를 수행하므로이 모달에 대해이 jQuery가 있습니다. 이제이 웹 페이지 내에 다른 모달이 있지만 처리가 수행되지 않고 한 번에 하나의 모달이 열려 있기 때문에 $(document).ready()모든 페이지가 가져 오는 전역 php / js 스크립트 에 다른 모달을 넣고 모달의 닫기 버튼에 다음과 같은 클래스를 제공 한다고 가정 해 보겠습니다 ".modal-close".
HTML :
<div class="modal-footer caption">
<button type="submit" class="modal-close btn default" data-dismiss="modal" aria-hidden="true">Close</button>
</div>
jQuery (global.inc 포함) :
$(document).ready(function(){
// Allow enter key to trigger a particular button anywhere on page
$(document).keypress(function(e) {
if(e.which == 13) {
if($(".modal").is(":visible")){
$(".modal:visible").find(".modal-close").trigger('click');
}
}
});
});