11496 sujets

JavaScript, DOM et API Web HTML5

bonjour,

sur un site qui a 2 ans, avec jquery version 1.7 et jquery ui version 1.8 .16, j'ai le code suivant qui fonctionnait très bien.



 var textBtn;
$("a.lireSuite").toggle(
function(e) {
var $bouton = $(this);
textBtn = $bouton.html();
e.preventDefault();
$bouton.next("div.laSuite").slideDown();
$bouton.text("replier ...");
$bouton.css('background-image', 'url(../images/arrow-up.png)');
},
function(e) {
var $bouton = $(this);
e.preventDefault();
$bouton.next("div.laSuite").slideUp();
$bouton.text(textBtn);
$bouton.css('background-image', 'url(../images/arrow-down.png)');
}
); 


J'ai voulu lier les dernières version de la librairie (jquery 1.10.2 et jquery ui 1.10.3) et j'ai n message d'erreur dans la console:

TypeError: e is undefined
e.preventDefault();

et le code ne fonctionne plus bien sur

j'ai beau chercher, je vois pas d’où ça vient
Modifié par lionel_css3 (21 Dec 2013 - 22:54)
Modérateur
Bonjour,

jQuery a écrit :

.toggle( handler(eventObject), handler(eventObject) [, handler(eventObject) ] )
version deprecated: 1.8, removed: 1.9

Cette méthode n'existe tout simplement plus ( http://api.jquery.com/toggle-event/ ). Par contre .toggle( [duration ] [, complete ] ) qui change juste la visibilité en appelant successivement show et hide, existe toujours.