Синтаксис JS для привязки 2 объектов к одним и тем же вызовам функций

#javascript

#javascript

Вопрос:

* обновление: извините за неопределенность. Я обновил вопрос

Я использую библиотеку pusher, где я создаю каналы и привязываю их к функции (http://pusherapp.com/docs/quickstart )

 var myChannel = pusher.subscribe('MY_CHANNEL');

myChannel.bind('thing-create', function(thing) {
   //executes
});
  

В этом случае у меня есть 2 объекта, которые подписываются на разные каналы, но выполняют один и тот же набор функций.

 var myChannel = pusher.subscribe('MY_CHANNEL');
var myChannel2 = pusher.subscribe('MY_CHANNEL2');

//wondering if there is syntax for something like this
(myChannel myChannel2).bind('thing-create', function(thing) {
   //executes
});
  

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

 //in jquery, you would do this
$(".xxx",".xxx").bind(...)
  

Комментарии:

1. Чего именно вы пытаетесь достичь? Есть ли у вас два элемента DOM, к которым вы хотели бы привязать функцию обратного вызова события DOM?

2. Используете ли вы какой-либо тип библиотеки для этой привязки?

3. я обновил вопрос. это не элементы dom, это объекты. итак, мне любопытно, можно ли это сделать

Ответ №1:

 var f = function() {...};
a1.bind("xx", f);
a2.bind("xx", f);
  

Комментарии:

1. bind() не является свойством объектов по умолчанию. Без дополнительной информации это не сработает. Я понимаю, что вы пытаетесь сказать, но imo вопрос слишком расплывчатый, чтобы дать ответ…

2. Я согласен, что это расплывчатый вопрос. Однако в примере не показано, как назначаются a1 и a2, поэтому я просто предположил, что object поддерживает метод bind.

3. Проблема в том, что, если мы не знаем, как работает bind, мы не можем дать конкретный ответ о том, как использовать bind запрошенным способом. Мы также должны знать, являются ли переменные элементами DOM, строками селектора и т.д.

4. переменные не являются элементами dom или селекторами. это пользовательские объекты с функциями e bind. Мне было интересно, можете ли вы привязать несколько объектов одновременно, вместо того, чтобы повторять это снова и снова