首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bootstrap ie8模式弹出菜单

bootstrap ie8模式弹出菜单
EN

Stack Overflow用户
提问于 2015-09-21 20:45:52
回答 1查看 678关注 0票数 0

我已经在谷歌上搜索过了,并尝试了我找到的几个答案,但无法解决我的问题。

我有一个模式弹出,应该出现在一个按钮按下。这适用于除IE以外的所有其他浏览器/版本。一位客户必须使用IE 8(所有都在XP上,但请不要争论他们应该更新。这在不久的将来是不会发生的。)

这是我的一小段html代码。(为简洁起见,省略了表单详细信息)

代码语言:javascript
复制
 <div class="modal fade" id="collect-email" data-backdrop="static" data-keyboard="false">
    <div class="modal-header">
        <a class="close" data-dismiss="modal">&times;</a>
        <h3>Collect Customer Email</h3>
    </div>
    <div class="modal-body">

……

我已经加载了html5shiv。我还有下面的js代码,它应该删除淡入淡出操作,从而使模式工作。

代码语言:javascript
复制
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版本检测代码换成了这个,它可以检测一个特定的功能。

代码语言:javascript
复制
  if( ! document.addEventListener  ){
        alert("you got IE8 or less");

        jQuery('.fade').removeClass('fade');
        $('#collect-email').modal({ show: false });
    }

警报弹出,所以它捕捉到了早期的浏览器。fade被删除了,所以问题出在这一行;$('#collect-email').modal({ show: false });我添加它是为了尝试强制模式消失。

编辑:找到解决方法。如果我在适当的时候手动隐藏和显示包装模式的div,那么剩下的代码就可以工作了。所以它并不优雅,但由于这是xp / ie8,所以我现在不会因为它而失眠。

EN

回答 1

Stack Overflow用户

发布于 2015-09-21 20:58:50

它是否删除了标记中的fade类?(通过检查元素进行检查)。如果不是,可能是您的功能不正确。还可以看看http://api.jquery.com/jquery.browser/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32695610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档