J'ai récemment mis à jour le fichier jQuery de notre projet de 1.4.2
à 1.4.4
et il semble que depuis 1.4.3
la façon dont nous avons utilisé jQuery.data
a cessé de fonctionner.jQuery.data ne fonctionne plus avec la fenêtre?
Nous avons ce code:
var events = $(window).data('events');
if (events.scroll)
if (!events.scroll.include(handler))
$(window).scroll(handler);
le but est d'empêcher ce gestionnaire particulier d'être lié à plusieurs reprises. En 1.4.2
, cela fonctionne très bien. Dans 1.4.4
, events
est indéfini.
function handler() {
//do something
}
$(document).ready(function(){
$(window).scroll(handler);
$('div#test').scroll(handler);
$(window).data('events') -> undefined
$('div#test').data('events') -> Object
});
Qu'est-ce qui a changé avec cette API? Comment devrais-je lister les événements pour window
?
J'ai changé la première ligne à ceci:
var events = $(window).data('__events__').events;
un peu désordonné à la recherche, mais la capacité à des événements câbler à des objets simples est convaincant.
Aha! Quelqu'un qui a réellement une idée des étapes du problème réel en xD +1 – Matchu