Je crée le code suivant en JavaScript (à l'intérieur file1.js)JavaScript Prototypes et jQuery Selectors
function ABC() {
this.property01 = true;
}
ABC.prototype.doSomething = function() {
if (this.property01 == true) {
// Do something
}
}
Puis, plus tard dans un fichier séparé dans mon projet (permet de l'appeler file2.js) , J'ai le jQuery suivant:
$(document).ready(function() {
var abc = new ABC();
// Some code here
abc.doSomething();
// continue with code
});
Jusqu'à présent, tout est correct.
Maintenant, ce que je voudrais faire est à l'intérieur de la définition du prototype de doSomething()
dans file1.js, je veux utiliser jQuery. Quelque chose le long des lignes
function ABC() {
this.property01 = true;
}
ABC.prototype.doSomething = function() {
if (this.property01 == true) {
$('#find-element'). .... // ... Do Something
}
}
Mais je ne suis pas sûr de savoir comment faire cela. Si j'Enroulez le code de file1.js avec un wrapper document prêt jQuery , la ligne à l'intérieur var abc = new ABC();
file2.js jetteront une erreur, car il ne reconnaît plus la définition de la fonction dans file1.js. Puis-je utiliser jQuery à l'intérieur d'un prototype comme je l'ai expliqué ci-dessus? Comment puis je faire ça? Comment puis-je structurer mes fichiers pour permettre cela?
il y a beaucoup d'informations manquantes ici (écrire un MCVE), mais très probablement ça va marcher ... avez-vous essayé? – Amit
Pourquoi attendez-vous que le document soit chargé avant de définir une classe? Vous devriez faire des variables globales. – SLaks
Vous pouvez garder everythig tel quel, faites juste attention à ne pas appeler la méthode 'doSomething' avant que le DOM ne soit prêt. – Teemu