Twitter Bootstrap を使用したプロジェクトに取り組んでいます。これは単一の html ページで構成されており、jQuery を使用して、サーバーからデータとページをフェッチします。
プロジェクト全体に独自のモーダルがあり、表示するたびに本文にデータを追加します。私の問題は、モーダルを閉じて新しいコンテンツで再度開くと、javascript が機能しなくなり、モーダルが開かれないことです。閉じてから開くまでに遅延を追加すると、一部のブラウザーでは機能しますが、他のブラウザー (クロムなど) では機能せず、コードは本当に醜いです。
新しいモーダルを開く前に、モーダルを閉じたときにイベントをバインドする必要があると思います。モーダルを開くための私のコードは次のとおりです。
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/
さらに詳しい情報が必要な場合はお問い合わせください。よろしくお願いします!