2015-04-29 5 views
1

Я хочу, чтобы показать некоторую информацию, когда ударяя ссылку, как вы можете найти здесь: http://jsfiddle.net/t4f8yer0/1/.toggle() не работает с IE9

HTML:

<a href="#" class="more">show more</a> <br> 
<div class="toggle"> 
this is more 
</div> 

ЯШ:

$(document).ready(function(){ 
    $(".toggle").css('display','none'); 

    $(".more").click(function() { 
    $(event.target).next().next().toggle("slow"); 
    }); 
}); 

Это работает для хром и края IE, но не для IE9 или IE10. Есть ли решение этой проблемы?

+0

Спасибо Woodsy, j08691 и Ted! – Kekzus

ответ

1

Вместо:

$(event.target); 

использование:

$(this); 

jsFiddle example

Различные версии IE имеют проблемы, которые Jquery нормализуется, например, что вы видите с событием. цель.

1

Я сменил ваш код на ссылку toggle div-класс и, похоже, работает.

$(document).ready(function(){ 
    $(".toggle").css('display','none'); 

    $(".more").click(function() { 
     $(".toggle").toggle("slow"); 
    }); 
}); 
+0

Это работает, но проблема в том, что если у вас есть более одного такого элемента, это будет иметь влияние и на всех остальных. Поэтому это не идеальное решение. – Kekzus

1

Для этого HTML:

<a href="#" class="more" data-target="#more1">show more</a> <br> 
<div id="more1" class="toggle" style="display:none;"> 
    this is more 
</div> 

Этот JS:

$(document).ready(function(){ 
    $(".more").click(function() { 
     var tgt = $(this).attr('data-target'); 
     $(tgt).toggle("slow"); 
    }); 
}); 

Это позволяет установить целевой переключаясь. See it work here

Смежные вопросы