Nous avons récemment mis à jour notre jQuery vers la version 1.9.0, mais cela a cassé notre plugin tipsy. Son live
provoque désormais une erreur.
$('.tooltip, abbr').tipsy({
live: true
});
TypeError: this[binder] is not a function
Existe-t-il des corrections ou des correctifs pour ce problème ? Les recherches sur Google n'ont rien donné d'utile.
UPDATE :
Merci pour les réponses. J'ai décidé d'essayer de résoudre le problème moi-même, car je n'ai trouvé aucun correctif.
Après inspection, l'erreur semble très facile à détecter. Le plugin tipsy peut facilement être corrigé pour utiliser l'option on
au lieu de la fonctionnalité obsolète live
fonctionnalité. Dans le plugin tipsy, j'ai remplacé le code suivant :
if (options.trigger != 'manual') {
var binder = options.live ? 'live' : 'bind',
eventIn = options.trigger == 'hover' ? 'mouseenter' : 'focus',
eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur';
this[binder](eventIn, enter)[binder](eventOut, leave);
}
avec :
if (options.trigger != 'manual') {
var eventIn = options.trigger == 'hover' ? 'mouseenter' : 'focus',
eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur';
if (options.live)
$(document).on(eventIn, this.selector, enter).on(eventOut, this.selector, leave);
else
this.bind(eventIn, enter).bind(eventOut, leave);
}
Fonctionne comme un charme :)