2014-01-03 2 views
4

Итак, я не уверен, что произошло, но у меня была его функция javascript, которая показывает/скрывает div, а затем меняет значение + на a - когда оно срабатывает.Проблемы с jQuery 1.9 и slideToggle

Это то, что у меня есть:

$('.internal').hide(); 

$('.slider').click(function() { 
    $(this).next('.internal').slideToggle(); 
}).toggle(function() { 
    $(this).children("span").text("[-]"); 
}, function() { 
    $(this).children("span").text("[+]"); 
    return false; 
}); 

Это, видимо, прекрасно работает с 1.8 библиотеки JQuery, но когда я включаю его на 1.9 или выше него просто скользит все и делает все ива.

Не слишком уверен, что произошло или что изменилось между 1,8 и 1,9, и я не уверен, что мне нужно исправить, чтобы заставить его работать снова.

Я сделал скрипку: http://jsfiddle.net/9LcXk/

, который использует 1.8.3 на данный момент. Но если вы измените его на 1.9 и снова запустите его, вы увидите, что произойдет.

+3

Это потому, что нет 'toggle' метода события в JQuery 1.9. – undefined

+0

@BlackSheep - О, радость. Было ли это заменено чем-то другим? – ultraloveninja

+0

http://stackoverflow.com/questions/14490957/what-is-alternative-to-use-after-jquery-1-9-removed-togglefunction-function – DaniP

ответ

3

Используйте событие щелчка вместо:

DEMO

$('.slider').click(function() { 
    $(this).next('.internal').slideToggle(); 
    this.toggle = !this.toggle; 
    $(this).children("span").text(this.toggle ? "[-]" : "[+]"); 
    return false; 
}); 
+0

Хорошо, круто. Спасибо за это! Это работает. – ultraloveninja