Доступ к переменным родительской функции в обработчиках событий Javascript - PullRequest
0 голосов
/ 27 июня 2011

У меня есть обработчик события, который связан с событием 'change'.Проблема в том, что функции в этой функции не могут получить доступ ни к каким элементам родительской функции

Process.prototype.handleCheckboxChange = function(event) {
    var rgbs = []
    $(':checked').each(function(index,element) {
       var color = [0,3,4];
       rgbs.push(color);
    })
}

Я читал повсеместно о замыканиях, но все, что я видел, похоже, указывает на то, что внутренняя функция должна бытьможет получить доступ к локальным переменным своих родителей, тогда как в данном случае это не так: rgbs не определено.

Полезно знать, что при связывании (с jQuery's bind ()) я использую замыкания дляустановите ключевое слово this для исходного объекта (таким образом, я не совсем понимаю), хотя проблема была той же, когда я этого не делал:

Process.prototype.doBinding = function() {
   $('checkbox').bind('change', function(event) {self.handleCheckboxChange(event)})
}

Любые идеи о том, что я делаю неправильнои как я могу получить доступ к RGBS?

...