我已經使用了這個,並嘗試了我找到的幾個答案,但無法解決我的問題。bootstrap ie8模態彈出
我有一個模式彈出應該出現在按鈕按下。這適用於所有其他瀏覽器/版本,但IE。一個客戶必須使用IE 8(全部仍然在XP上,但請不要爭論他們應該更新,這在將來不會發生。)
這是我的一些html代碼。 (賽事詳情略去了)
<div class="modal fade" id="collect-email" data-backdrop="static" data-keyboard="false">
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3>Collect Customer Email</h3>
</div>
<div class="modal-body">
....
我已經html5shiv加載。我也有下面的js代碼,它應該刪除淡入淡出的操作,並使模式工作。
var ie = (function(){
var undef,
v = 3,
div = document.createElement('div'),
all = div.getElementsByTagName('i');
while (
div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->',
all[0]
);
return v > 4 ? v : undef;
}());
$(document).ready(function() {
if (ie < 10) {
jQuery('.fade').removeClass('fade');
}
...
但是,只要頁面被瀏覽,模態就可見。按下模式彈出窗口上的關閉或確定按鈕不會再次隱藏它。
更新:我換了我的ie版本檢測代碼爲此,它檢測到一個特定的功能。
if(! document.addEventListener ){
alert("you got IE8 or less");
jQuery('.fade').removeClass('fade');
$('#collect-email').modal({ show: false });
}
警報彈出,所以它捕捉到較早的瀏覽器。淡入淡出,所以問題是行; $('#collect-email')。modal({show:false});我添加了試圖強制模式消失。
編輯:找到解決方法。 如果我在適當的時候手動隱藏並顯示包裹模態的div,則代碼的其餘部分工作。所以它不夠優雅,但是因爲這是xp/ie8,所以現在我不會爲此丟失太多睡眠。
除了刪除類,您可以嘗試使用show方法。以防萬一它在引擎蓋下做了些什麼。 IE:jQuery('。modal')。modal('show') – Ixonal
這就是我正在做的顯示/隱藏模式。我現在主要關心的是爲什麼它可以從偏移量中看到,並且永遠不會消失。我希望如果我可以破解它,那麼其餘的應該很容易 – Matt
聽起來就像在那裏有某種形式的javascript錯誤。 IE有一個壞習慣,只是在它不喜歡的東西出現時停止JS執行。你的代碼是否通過linter運行? – Ixonal