Подтвердить что ты не робот

Пользовательские события jQuery для объектов, отличных от DOM

Недавно я прочитал некоторый код, который делает что-то вроде этого:

bob = {'name': 'Bob Smith', 'rank': 7};
$(bob).bind("nameChanged", function () { /* ... */});
// ...
$(bob).trigger("nameChanged");

Это работает.

Но я не могу найти ничего в документации или источнике jQuery о вызове конструктора jQuery с объектом, который не является ни селектором, ни DOM node. Так что мой вопрос в том, поддерживает ли это использование, или это по существу работает случайно?

Если вы хотите использовать управляемую событиями модель для объектов Model или View в JavaScript, как вы это сделаете?

4b9b3361

Ответ 1

Что происходит, так это то, что он просто обертывает этот объект в оболочку jQuery. Затем он применяет обратный вызов к новому свойству на этом объекте и затем запускает его.

Это странный способ делать что-то, но вполне приемлемо.