[英]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.