Теория для присоединения JavaScript-EventListener к переменным? - PullRequest
1 голос
/ 14 февраля 2011

Мне было интересно, есть ли способ прикрепить списки событий к переменным.Идея состоит в том, чтобы сделать что-то вроде этого:

someVar.addEventListener('change', someTodo, false);

Так что, как только someVar изменяется на ieVar = 1, someTodo будет выполняться.

Я думаю, чтобы понять, что - теоретически - списки событий могут быть добавлены ко всему в DOM, проблема в том, что переменные не вызывают эти события, в то время как объекты HTML действительно вызывают их.Если это действительно так, то расширенный вопрос будет таким: Как обучить объекты DOM для запуска событий?Я прочитал кое-что о прототипировании, вот в чем тут подвох?

Обратите внимание: мне нравится понимать и писать весь мой код сам.Так что я бы скорее заинтересовался теорией, чем использованием какой-то существующей вещи, такой как jQuery, где прямо сейчас пекутся всевозможные чудеса.

Марко

1 Ответ

0 голосов
/ 14 февраля 2011

Безопасный и проверенный временем подход заключается в использовании геттеров и сеттеров для ваших объектов (т. Е. Вы разрешаете доступ к переменной только через методы объекта, такие как getX () / setX ()). Затем вы могли бы иметь перегрузку setX () для запуска обратных вызовов. Есть некоторые языки, такие как Lua и Python, где доступ к членам объекта может быть обнаружен с помощью мета-функций, но я не верю, что Javascript поддерживает это каким-либо образом.

...