Ho un piccolo problema con un oggetto che utilizza jquery. dal momento che jquery sovrascrive questo puntatore, non posso chiamare i miei metodi secondari senza ricorrere a salvare il puntatore in una variabile che è preferibile o esiste una soluzione migliore? C'è un modo per salvare questo puntatore nell'oggetto (come un metodo di classe con un altro nome)?chiamate di metodo interne javascript quando si utilizza jquery
Cercando di imparare javascript con javascript le parti buone ma non penso di capire ancora tutte le stranezze :).
//from javscript the good parts
if (typeof Object.create !== 'function') {
Object.create = function (o) {
var F = function() {};
F.prototype = o;
return new F();
};
}
var Tester = {
printData: function (text) {
console.log(text)
},
start: function() {
var that = this;
jQuery('id').click(function() {
that.printData('firstColumn')
});
}
};
var test = Object.create(Tester)
test.start()
migliori saluti Anders Olme immagino che questo è simile a Overwritten "this" variable problem or how to call a member function?
Stai utilizzando Firefox 4? 'Object.create' è molto nuovo ed è supportato solo da FF4 AFAIK. – RoToRa
Penso che non sia una soluzione migliore - 'var that = this' è un modo classico per risolvere problemi come quello –
ho strappato il codice di creazione dell'oggetto da javscript alle parti buone e lo ho incluso altrove. – Buzzzz