jQuery Custom Events. Высокоуровневые события в jQuery
Чем более сложные системы мы создаем, тем острее становится необходимость использовать различные паттерны и увеличивать уровень абстракции. В сложной системе мы стараемся выделить некоторые объекты, которые имею определенный функционал. Каждый из объектов решает свои задачи.
Если мы говорим о web, и о современном GUI на web-страницах, то здесь сплошь и рядом возникают ситуации, в которых, при наступлении некоторого события в одном компоненте интерфейса, должны обязательно выполниться некоторые действия в другом. И если это именно компоненты, которые выделены как отдельные объекты (сущности), то изящным решением для реализации реакции на наступление события в другом компоненте может оказаться Custom Events, которые имеются в jQuery.
jQuery Custom Events. Высокоуровневые события в jQuery
|
Иногда и высокоуровневых событий в разных библиотеках тоже мало.
Уже в нескольких проектах со сложным интерфейсом была необходимость использовать события не привязанные к объекту. пришлось делать самому, т.к. не смог найти какой-либо plugin или легковесную либу для этих целей...
в итоге получил такие вызовы
$i.event.bind("/channel", function(data){});
$i.event.trigger("/channel", {a:'aaaaa'});
получилось что-то вроде event/message driven...
Очень было удобно использовать такой подход при реализации чата.