繁体   English   中英

使用实时事件时,JQuery slideToggle无法用于IE8?

[英]JQuery slideToggle not working for IE8 when using live events?

我全力以赴,所有解决方案似乎都无法使此代码正常工作:

$(".showSomething").live('click', function(e) {
            e.preventDefault();
            var $container = $(this).parent().parent().next("div");
            var title = $container.is(':visible') ? "Show" : "Hide" ;
            $container.slideToggle('slow');
            $(this).text(title);
        });

当我单击页面上的“ Show链接时,确实确实更改为“ Hide但仅此而已。 应该切换的div不会显示,并且链接也将锁定为该“ Hide状态。

任何建议将不胜感激。

编辑这就是HTML的样子:

<div class="something" id="asdf">
    <div class="anotherthing">
        <span class="showSomething">Info</span>
    </div>
</div>
<div class="details">
    This Should Get Shown
</div>

更新 :我认为IE8确实存在一些问题。 我可以通过切换到以下内容而不是“ slideToggle”来使其工作

var title = "";
            if( $container.is(':visible') )
            {
                title = "Show";
                $container.slideUp('slow');
            }
            else
            {
                title = "Hide";
                $container.slideDown('slow');
            }

我把这个小提琴放在一起,似乎可以正常工作: http : //jsfiddle.net/MarkSchultheiss/XdXtr/

鉴于此,请比较您的结构以确保下一个div与示例类似。

<div id='holder'>
    <div id='clicker' class="showSomething">click me</div>
</div>
<div id='hidyho'>it is me to hide or not</div>

我想你是parent 尝试:

var $container = $(this).parent().parent().next("div");

问题出在PIE.htc(css3pie.com)上。 避免像瘟疫一样发生,因为除了我上面遇到的问题之外,如果将它应用于太多元素,则对IE7-8用户而言,您的网站将变得越来越爬行,从而使其几乎无用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM