Я работаю над проектом с Twitter Bootstrap. Он состоит из одной html-страницы и с помощью jQuery извлекает данные и страницы с сервера.
У меня есть уникальный модальный для всего проекта, и я добавляю данные в тело каждый раз, когда я его показываю. Моя проблема в том, что когда я закрываю модальный и снова открываю его с новым контентом, javascript перестает работать и модальный не открывается. Если я добавлю некоторую задержку между закрытием и открытием, она работает на некоторых браузерах, но не на других (например, хром), и код действительно уродлив.
Я думаю, что мне нужно связать событие, когда модальное закрытие перед открытием нового. Вот мой код для открытия модального:Twitter Bootstrap: close modal wait for close and open new
function apriModal(header, messaggio, callback, conferma) {
var re = new RegExp("</?\w+\s+[^>]*>");
$("#modalHeaderTitle").text(header);
if (messaggio.match(re)) {
$("#modalBodyText").html(messaggio);
}
else {
$("#modalBodyText").html("<p>" + messaggio + "</p>");
}
(!conferma) ? $("#modalConfirm").hide() : $("#modalConfirm").show();
$("#finestraModal").modal('show')
$("#modalConfirm").off().click(function() {
if (conferma) {
$("#finestraModal").modal('hide')
conferma();
}
});
$("#modalClose").show();
$("#modalClose").off().click(function() {
if (callback) {
callback();
}
$("#finestraModal").modal('hide');
});
}
Вот небольшой пример: http://jsfiddle.net/thetom/nqNzr/15/
Если вам нужно больше информации спросить. Большое вам спасибо!
Во-первых, есть небольшая опечатка. Вы должны иметь точку с запятой в конце строки '$ (« # finestraModal »). Modal ('hide')' или второй модальный не остается на экране (по крайней мере для меня с Chrome на Win7). С добавлением точки с запятой, что для меня происходит, когда я нажимаю кнопку «подтвердить», затем нажимаю кнопку «закрыть», модальный закрывается, но занавес остается над страницей в фоновом режиме. Чтобы исправить это, я просто прокомментировал строку: '$ (" # finestraModal "). Modal ('hide');' Модаль не имеет приятного затухания в/из, но по крайней мере он работает! –
Благодарим вас за помощь. Я видел и исправлял опечатку. Решение, которое вы предоставили, просто изменяет содержимое модальности, не закрывая и не открывая его. Моя цель - закрыть и вновь открыть модальный, чтобы убедиться, что пользователь видит новое приглашение. –