В моем стремлении лучше понять некоторые концепции Javacript и jQuery, я выполнил следующий фрагмент кода.Объяснение синтаксиса JQuery для PubSub Design Pattern
var o = $({});
$.subscribe = o.on.bind(o);
$.unsubscribe = o.off.bind(o);
$.publish = o.trigger.bind(o);
// Usage
$(document.body).on('click', function() {
// ...yadada
$.publish('clicketyClack'); // Think Rocky Balboa yelling out the window: "Hey yo!"
});
// And some dude listening patiently for Rocky's voice.
$.subscribe('clicketyClack', function() {
console.log("You can't win, Rock");
});
Проблема: я не очень хорошо понимаю синтаксис. Что это значит? Разве мы расширяем пространство имен с помощью функции bind?
$.subscribe = o.on.bind(o); -->
$.subscribe = $({}).on.bind($({}));
С Jquery API:
.on(events [, selector ] [, data ], handler)
.bind(eventType [, eventData ], handler)
Большое спасибо за вашу помощь
Это, по-видимому, довольно странный способ динамического связывания событий. Не уверен, однако, этот код, кажется, ничего не делает, если вы попробуете его (протестировали его локально и, кажется, не записали «Вы не можете победить, рок») – briosheje
@briosheje: Вам нужно щелкнуть где-нибудь. – Bergi
@ Берги: Я знаю, я нажал, но это не сработает. – briosheje