Sé que esta pregunta no tiene mucho sentido, pero déjame intentar aclarar un poco.¿Cómo transfiero este contexto a un controlador de eventos?
tengo una clase, llamada ScrollBanner, y se ve menos como sigue (un montón omitido por razones de brevedad):
function ScrollBanner() {
this.initialize = function(selector) {
$('span#banner1-nav').click(this._onClickNavigation);
}
this._onClickNavigation = function(event) {
this.restartTimer(); // this == span#banner1-nav element from this.initialize
//...
}
this.restartTimer() {
//...
}
}
Como se puede ver this.initialize establece un controlador de clic a esto. _onClickNavigation. Algunos pueden esperar el este dentro del controlador de eventos para hacer referencia a la instancia de ScrollBanner, pero lamentablemente no es así. Se refiere al elemento que trigerred el evento click, en este caso lapso # banner1-nav
¿Cuál sería la mejor manera de conseguir esto hacer referencia a la instancia de clase ScrollBanner?
Buena decisión, por lo general hacen un hábito de asignar un 'var = this' que en la parte superior de mis constructores por lo siempre tienes una referencia a eso. Luego use 'that' todo el tiempo para que no haya confusión (asumiendo que está haciendo referencia a eso, y no a otra cosa) – brad
Esto es bastante útil, pero se siente bastante sucio. :) –
@JoeZephyr: Así son las cosas;) Por favor, eche un vistazo a mi actualización también. –