.next plus .toggle 在 IE8 中不起作用

Posted

技术标签:

【中文标题】.next plus .toggle 在 IE8 中不起作用【英文标题】:.next plus .toggle not working in IE8 【发布时间】:2013-03-25 17:10:31 【问题描述】:

我正在使用 .toggle 加上 .next 来滑动/向下滑动 li,除了 IE 8-7 之外,它在所有地方都可以正常工作,这很奇怪,我想提一下,当我在我的本地PC,但上传到服务器后它不起作用。我正在使用以下html

<ul id="search_list">
     <li class="ques"><a href="javascript:void(0)">Lorem ipsum dolor malesuada.</a></li>
     <li class="ans"><div class="arw"></div>Lorem ipsum dolor malesuada.</li>
     <li class="ques"><a href="javascript:void(0)">Lorem ipsum dolor malesuada.</a></li>
     <li class="ans"><div class="arw"></div>Lorem ipsum dolor malesuada.</li>
</ul>

我已经尝试了以下 jquery 代码。

$("#search_list li.ques").live('click', function()
    $(this).next("li.ans").slideToggle("fast");
);

$("#search_list li.ques").toggle(function()
    $(this).next('li.ans').slideDown();
, function()
    $(this).next('li.ans').slideUp();
);

【问题讨论】:

您的代码在 IE 7/8 中对我来说可以正常工作:Example | jsfiddle。您是否收到任何控制台错误?另外,使用on 而不是直播; live 在 jQuery 1.7 中被弃用并在 1.9 中被删除。我也会使用event.preventDefault() (reference) 而不是内联javascript。以下是包含这些更改的代码示例:Example. 您的两种尝试都有效。 jsfiddle.net/VKNMz jsfiddle.net/VKNMz/1 你在使用 jQuery 1.9,这两种方法都被删除了吗?如果是这样,IE8与你的问题无关。 对不起,我忘了提到一件重要的事情,当我在我的电脑上工作时它可以工作,但是当我将它上传到服务器时它不起作用。我正在使用 jquery-1.7.2 IE8 是唯一受影响的浏览器吗?还是因为它是您测试的唯一浏览器而将其放在标题中。如果它是唯一受影响的浏览器,您是否重新启动所有浏览器并再次尝试避免缓存? @KevinB 是的 IE-8-7 是受影响的,没有任何缓存问题。 【参考方案1】:

好的,我发现了问题,我在同一页面上使用了一个插件 fastLiveFilter,我将它的功能移到了我的显示/隐藏切换脚本下面,它现在在 IE 7-8 中运行良好。

感谢你们的 cmets 伙计们。

【讨论】:

以上是关于.next plus .toggle 在 IE8 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Toggle 在 IE8 中不起作用

为什么jquery .next和.toggle不能在这里工作

IE8 切换错误?

jq toggle() 状态切换

使用 webpack (@vue/cli@next) 构建时如何排除 element-plus 包(由 import CDN 替换)?

使用 webpack (@vue/cli@next) 构建时如何排除 element-plus 包(由 import CDN 替换)?