JQuery имеет отличную поддержку пользовательских событий - .bind("foo", function(e)...
. Однако что, если механизм запуска события еще не готов и должен быть построен только на тех элементах, с которыми связано событие?
Например, я хочу событие scrollin
, которое запускается, когда элемент прокручивается в область просмотра. Чтобы сделать это, я onscroll
должен проверить все элементы и trigger
scrollin
на тех, которые были вне области просмотра, а теперь находятся внутри. Это не приемлемо.
Есть несколько приемов, чтобы ускорить его. Например, один из плагинов для этого проверяет все элементы в «private» $.cache
и проверяет только те элементы, для которых scrollin
привязано к событию.
Но это тоже безобразно. Мне нужен дополнительный обратный вызов для привязки события (дополнительно к обратному вызову для обработки), который позаботится об управлении прокруткой, то есть поместить элемент (ы) в некоторый elementsCheckOnScrol
кеш-массив.
Я ищу что-то вроде:
$.delegateBind("scrollin", function(jqSelection) { ... });
element.bind("scrollin", function(e) {..}); //Calls ^ after internal bind management
Редактировать: Это было бы хорошо API!
$.bind("bind", function(onWhat) { ... })
: -)