Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.07.2013, 13:11
Интересующийся
Отправить личное сообщение для hurt3 Посмотреть профиль Найти все сообщения от hurt3
 
Регистрация: 06.07.2013
Сообщений: 16

пользовательские 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()

});
такой вариант логически правильный или нет?
Ответить с цитированием
  #2 (permalink)  
Старый 07.07.2013, 14:17
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от hurt3
В функцию объекта 2 t_add() поместить $(this).trigger(' t_add ');
Триггер разве будет реагировать на запуск функции(метода)?
Насколько я помню он реагирует на события в том числе пользовательские
Ответить с цитированием
  #3 (permalink)  
Старый 07.07.2013, 15:52
Интересующийся
Отправить личное сообщение для hurt3 Посмотреть профиль Найти все сообщения от hurt3
 
Регистрация: 06.07.2013
Сообщений: 16

var obg1 ={

    t_add: function(){
        $(this).trigger('t_adds');
    }

}

$(obg1).bind("t_adds", function(){

  console.log('asd');

});

obg1.t_add()
Ответить с цитированием
  #4 (permalink)  
Старый 07.07.2013, 15:54
Интересующийся
Отправить личное сообщение для hurt3 Посмотреть профиль Найти все сообщения от hurt3
 
Регистрация: 06.07.2013
Сообщений: 16

я понимаю, что использую не совсем правильно, можете привести наглядный пример использования пользовательского события?
Ответить с цитированием
  #5 (permalink)  
Старый 07.07.2013, 16:03
Интересующийся
Отправить личное сообщение для hurt3 Посмотреть профиль Найти все сообщения от hurt3
 
Регистрация: 06.07.2013
Сообщений: 16

т.е. использование триггера в пользовательском событии
Ответить с цитированием
  #6 (permalink)  
Старый 07.07.2013, 16:03
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

$myCollection.trigger('myEvent');
Ответить с цитированием
  #7 (permalink)  
Старый 07.07.2013, 16:08
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от hurt3 Посмотреть сообщение
var obg1 ={

...
obg1.t_add()
В принципе работает Ваша конструкция-чем это лучше чем если бы мы из t_add запустили нужный метод в obj1?
Ответить с цитированием
  #8 (permalink)  
Старый 07.07.2013, 16:16
Интересующийся
Отправить личное сообщение для hurt3 Посмотреть профиль Найти все сообщения от hurt3
 
Регистрация: 06.07.2013
Сообщений: 16

я не говорю что это лучше я просто не въезжаю как навешивать иначе тригер на пользовательское событие.
почему нельзя напрямую запускать метод другова объекта, отвечаю
при разработке сложных приложений ui и подобной темы бизнес-процессы программы как известно строятся на логических частях. хорошо если программка маленькая и в ней работают 2 объекта но что если у нас будет фабрика генерирующая разные объекты, разумеется они должны быть закрыты друг от друга, общение между ними может происходить через паттерн mediator, и получается, что сам jquery и выступает таким паттерном т.к. предоставляет механизмы сигнализации через тригеры о происходящих событиях для всякого рода bind
я не занимаюсь проф разработкой на js, если я не прав прошу поправить
Ответить с цитированием
  #9 (permalink)  
Старый 07.07.2013, 16:19
Интересующийся
Отправить личное сообщение для hurt3 Посмотреть профиль Найти все сообщения от hurt3
 
Регистрация: 06.07.2013
Сообщений: 16

danik.js,
я понимаю что есть $myCollection.trigger, хорошо вот событие 'myEvent',
что с ним делать, при каких событиях оно будет срабатывать?
Ответить с цитированием
  #10 (permalink)  
Старый 07.07.2013, 16:20
Интересующийся
Отправить личное сообщение для hurt3 Посмотреть профиль Найти все сообщения от hurt3
 
Регистрация: 06.07.2013
Сообщений: 16

допустим есть событие click оно срабатывает при клике а myEvent , где должен сработать?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
пользовательские cобытия и функции jquery hurt3 jQuery 2 08.07.2013 09:13
пользовательские события jQuery riva jQuery 2 07.07.2013 12:06
Вызов функции к элементу по клику (jquery) sogologo Общие вопросы Javascript 18 13.10.2012 19:14
передать this параметр функции в jquery SunYang jQuery 2 04.06.2012 17:37
JQuery. Ajax. Глобальные функции Harvey jQuery 5 31.08.2011 16:54