【问题标题】:Custom jQuery "pop up" not displaying in IE8自定义 jQuery“弹出”不在 IE8 中显示
【发布时间】:2012-03-02 01:46:44
【问题描述】:

(网站即将公开,请尽快提供帮助!)

所以我创建了一个弹出窗口(不是真正的模态,而只是一个隐藏的 div,它使用 jQuery 显示并在关闭时再次隐藏)。它在最新版本的 Safari、Firefox 和 Chrome 以及 IE9 中正确显示。但在 IE8 中,好像 div 甚至都不存在。

这是 jQuery:

    permalinkBehavior: function(){
$('a[name=permalink]').click(function(event) {
    $('.permalink_overlay').hide();
    $(this).next('.permalink_overlay').show();
    $(this).parent().find('input[type=text]').focus();
    $(this).parent().find('input[type=text]').select();
    return false;
    });
    $(".permalink-cancel").click(function() {
        $(this).parent('.permalink_overlay').hide();
        $(this).parent().find('input[type=text]').blur();
        });
    },

.permalink_overlay 类是一个带有 css display:none; 的 div (该脚本负责在单击链接时显示和隐藏 div)并相对定位到包含

  • 位于标签内。我们正在使用通常的 IE hack,包括 HTML5Shiv、Selectivizr 和条件启动。还要确保父元素 hasLayout 和包含元素具有 position:relative。

    需要解决这个问题,以便我们可以公开。任何建议或已知的解决方法将不胜感激。

  • 【问题讨论】:

    • 请提供一个JS Fiddle,jsfiddle.net,以便调试。
    • 你做过调试吗? IE8 卡在 quirksmode 中了吗?
    • 控制台有错误吗?我每天都使用 html5shiv、selectivzr 和条件 cmets,没有遇到这个问题...
    • Maxedison:控制台中没有错误。我们正在使用模拟器(crossbrowsertesting)来测试站点,据我所知,它没有设置为 quirksmode。一会儿我会做 JS Fiddle 的事情。

    标签: jquery ruby-on-rails html internet-explorer-8


    【解决方案1】:

    试试这个

    <script type="text/javascript" language="javascript">
        $(function() {
            $('a[name=permalink]').click(function(event) {
                $('.permalink_overlay').hide();
                $(this).next('.permalink_overlay').show();
                $(this).parent().find('input[type=text]').focus();
                $(this).parent().find('input[type=text]').select();
                return false;
            });
            $(".permalink-cancel").click(function() {
                $(this).parent('.permalink_overlay').hide();
                $(this).parent().find('input[type=text]').blur();
            });
    
        });
    </script>
    
    <style type="text/css">
        .permalink_overlay
        {
            display: none;
        }
    </style>
    

    <div>
        <a href="#" name="permalink">overlay</a>
        <div class="permalink_overlay">
            <input type="text" value="name" /><a href="#" class="permalink-cancel">Cancel</a>
        </div>
    </div> 
    

    【讨论】:

    • 这几乎就是我所拥有的,除了链接本身和 permalink_overlay div 嵌套在
    • 内。但感谢您的意见。
  • 已解决。罪魁祸首是 PIE.htc。用背景图片替换了样式,现在脚本可以正常工作了。
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签