пользовательские cобытия и функции jquery попытка 2
Предположим у нас есть два объекта.
Объект 1 и объект 2 Объект 1 должен знать, что в объекте 2 происходит выполнение функции t_add(). Когда же в объекте 2 происходит выполнение функции add(), в объекте 1 должна выполняться функция t_crash() Как будет наиболее правильно устроить данное взаимодействие? Можно ли это сделать вот как В функцию объекта 2 t_add() поместить $(this).trigger(' t_add '); А в объект 1 добавить bind примерно такой $("… ").bind("t_add ", function(e){ а здесь мы запускаем функцию объекта 1 t_crash() }); такой вариант логически правильный или нет? |
Цитата:
Насколько я помню он реагирует на события в том числе пользовательские |
var obg1 ={ t_add: function(){ $(this).trigger('t_adds'); } } $(obg1).bind("t_adds", function(){ console.log('asd'); }); obg1.t_add() |
я понимаю, что использую не совсем правильно, можете привести наглядный пример использования пользовательского события?
|
т.е. использование триггера в пользовательском событии
|
$myCollection.trigger('myEvent'); |
Цитата:
|
я не говорю что это лучше я просто не въезжаю как навешивать иначе тригер на пользовательское событие.
почему нельзя напрямую запускать метод другова объекта, отвечаю при разработке сложных приложений ui и подобной темы бизнес-процессы программы как известно строятся на логических частях. хорошо если программка маленькая и в ней работают 2 объекта но что если у нас будет фабрика генерирующая разные объекты, разумеется они должны быть закрыты друг от друга, общение между ними может происходить через паттерн mediator, и получается, что сам jquery и выступает таким паттерном т.к. предоставляет механизмы сигнализации через тригеры о происходящих событиях для всякого рода bind я не занимаюсь проф разработкой на js, если я не прав прошу поправить |
danik.js,
я понимаю что есть $myCollection.trigger, хорошо вот событие 'myEvent', что с ним делать, при каких событиях оно будет срабатывать? |
допустим есть событие click оно срабатывает при клике а myEvent , где должен сработать?
|
Часовой пояс GMT +3, время: 22:01. |