Пишу приложение, где много простых диалогов. Использую бутстрап модальные окна. Написал велосипед-функцию, которой передается объект с параметрами, после чего показывается окно нужной конфигурации. Ничего особенного - либо показываем кнопку 'ок' либо нет. а если показываем, то вешаем на нее какую-либо функцию.выглядит все вот так :
в разметке лежит такой див -
<div class="modal fade" tabindex="-1" role="dialog" id='modal_dialog_for_all'>
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h5 class="modal-title">Message From Admin Panel</h5>
</div>
<div class="modal-body">
<h4><span id='modal_message'>32323232 </span></h4>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary modal-ok-button">Ok</button>
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
в JS вот такая ф-ция :
function showModalWin(obj) {
if (typeof (obj) === 'undefined') {
var obj = {};
}
if (obj.ok_hide) {
$('.modal-ok-button').hide();
} else {
$('.modal-ok-button').show();
}
if (obj.func) {
$(".modal-ok-button").bind("click", function () { // кнопка на форме, по клику на которую должна срабатывать функция
return obj.func(obj.func_param);
});
}
if (obj.message) {
$('#modal_message').text(obj.message);
}
$('#modal_dialog_for_all').modal('show');
}
затем в коде использую вот так :
$('tbody').on('click', '.delete-casino-butt', function () {
var id = $(this).closest('tr').find('td:eq(0)').text();
showModalWin({
message: 'Item Will Remove From Database! Are you sure?',
ok_hide: false,
func: deleteItem, // это функция ,объявленная в том же файле
func_param: id
});
});
// далее при закрытии формы удаляю вызов функции deleteItem , в следующий раз будет другая
$('#modal_dialog_for_all').on('hidden.bs.modal', function (e) {
$('.modal-ok-button').unbind("click");
});
работает все криво. ((( подскажите, как реализовать сее оптимально? Спасибо!