usi jQuery? allora hai scelto l'unica libreria di JS che io conosca che non permette il settaggio dello scope delle funzioni. L'unico sistema che ho trovato è utilizzare l'attributo eventData della funzione bind() per allaccare l'evento con dei parametri:
codice:
function classe() {
this.proprieta = 'ciao';
}
classe.prototype.metodo = function() {
alert(this.proprieta);
$('.a').bind('click', {scope : this}, function(e) {
//Qui this è l'oggetto che lancia l'evento.
//Per ottenere lo scope esterno all'evento fai
var prev = e.data.scope;
alert(prev.proprieta);
});
for(var i = 0; i<100; i++) {
//Questo invece è una cosa un pelo diversa. Se tu accedi ad i accederai alla variabile nel momento in cui clicchi sul link, quando è già a 99, devi passargli i dati tramite l'argomento eventData
$('.a').bind('click', {index : i}, function(e) {
alert(e.data.index);
});
}
};