我正在使用 Twitter Bootstrap 开发一个项目。它由一个 html 页面组成,并且在 jQuery 的帮助下,我从服务器获取数据和页面。
我对整个项目都有一个独特的模式,每次显示时我都会在正文中附加数据。我的问题是,当我关闭模式并使用新内容重新打开它时,javascript 停止工作并且没有打开模式。如果我在关闭和打开之间添加一些延迟,它适用于某些浏览器,但不适用于其他浏览器(例如 chrome),并且代码真的很难看。
我认为我应该在模式关闭之前绑定一个事件,然后再打开一个新事件。这是我打开模式的代码:
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/
如果您需要更多信息,请询问。非常感谢您!