2015-01-08 1 views
0

У меня есть эта функция, чтобы создать свою модальность:Действия после смещать модальные самозагрузки

function modalAlert(text) 
{ 
    if($('#modalToRemove')) 
     $('#modalToRemove').remove(); 
    $('<div id="modalToRemove" class="modal fade"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">x</button><h4 class="modal-title">TITLE</h4></div><div class="modal-body"><h4>'+text+'</h4></div><div class="modal-footer"> <a class="btn btn-default" data-dismiss="modal">Close</a></div></div></div></div>').modal(); 
} 

И я хотел бы сделать действие после закрытия модального. Я попробовал этот код, но не работает ...

$('#myModal').on('hidden.bs.modal', function() { 
    // do something… 
}) 

Можете ли вы предложить мне любую вещь еще?

Спасибо!

+0

'если ($ ('# modalToRemove'))' UM, то есть ВСЕГДА true. Он возвращает объект Jquery, который является правдивым. Вам нужно будет проверить длину. НО зачем беспокоиться, так как вы можете цеплять без ошибок. – epascarello

+0

Нельзя ли вызывать $ ('# modalToRemove'). On (...) вместо $ ('# myModal'). On (...)? – ntaylor2

ответ

0

Вы связываете его после добавления элемента на страницу?

function modalAlert (text) { 
 
    $('#modalToRemove').remove(); 
 
    $('<div id="modalToRemove" class="modal fade"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">x</button><h4 class="modal-title">TITLE</h4></div><div class="modal-body"><h4>'+text+'</h4></div><div class="modal-footer"> <a class="btn btn-default" data-dismiss="modal">Close</a></div></div></div></div>').modal(); 
 
    $('#modalToRemove').on('hidden.bs.modal', function() { 
 
     alert("xxx"); 
 
    }); 
 
} 
 

 
modalAlert("hey");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet"/> 
 
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>


Если вы связывание события вне его, вам нужно использовать событие делегации

$(document).on('hidden.bs.modal', '#modalToRemove', function() { 
    alert("xxx"); 
}); 

 Смежные вопросы

  • Нет связанных вопросов^_^