jQuery.data больше не работает с окном?

Недавно я обновил файл jQuery нашего проекта с 1.4.2 до 1.4.4 , и оказалось, что из 1.4. 3 способ, которым мы использовали jQuery.data , перестал работать.

У нас есть этот код:

var events = $(window).data('events');

if (events.scroll)
if (!events.scroll.include(handler))
  $(window).scroll(handler);

цель состоит в том, чтобы предотвратить многократное связывание этого конкретного обработчика.

В 1.4.2 это работает нормально. В 1.4.4 , события не определены.

function handler() {
  //do something
}

$(document).ready(function(){
  $(window).scroll(handler);
  $('div#test').scroll(handler);

  $(window).data('events') -> undefined
  $('div#test').data('events') -> Object
});

Что изменилось в этом API? Как мне составить список событий для окна ?


Я изменил первую строку на это:

var events = $(window).data('__events__').events;

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

7
задан Adam Lassek 2 December 2010 в 03:10
поделиться