У меня есть сторонний Flash-объект, который я могу манипулировать с помощью предоставленного им javascript-интерфейса. Я пытаюсь прослушать событие на этом объекте, а затем запустить событие внутри моего объекта, чтобы еще больше разжечь событие. Я, случается, использую EXT Js, но я не думаю, что это важно здесь.addEventListener и область действия этого
Пример кода
this.chart.addEventListener('create', function() {
this.fireEvent('created');
}, false)
Моя проблема заключается в том, что «это» внутри анонимной функции относится к объекту, который уволил событие, а не мой объект, который я хочу стрелять событие на.
Его еще одна проблема с объемом. Заранее благодарю за любую помощь.
Я предпочитаю 'var self = this;'. Создание функции, а затем ее выполнение при передаче 'this', поскольку параметр кажется немного завышенным - код немного длиннее ;-) –
@ Andy: Да, я часто это делаю, когда код существует в небольшом контексте выполнения. Однако приведенный выше стандарт является стандартным подходом, который работает в более широком спектре сценариев.Объем идентификатора 'self' ограничен только закрытием, нет опасности, что последующий код может изменить значение, содержащееся в нем до возникновения события. Это не относится к подходу «var self = this;». – AnthonyWJones