2010-06-03 5 views
1

En essayant d'appeler une méthode sur l'éditeur de code javascript CodeMirror. Je suis nouveau sur javascript et j'essaie de comprendre comment fonctionnent les objets orientés objet. J'ai des problèmes pour appeler ce que je crois être des méthodes. Par exemple,Présentation des appels de méthode de prototype

var editor = CodeMirror.fromTextArea('code', options); 
editor.grabKeys(function(e) { alert("Key event");}); 

Ceci donne le Uncaught TypeError: Cannot call method 'grabKeys' of undefined. En regardant l'objet editor révèle que grabKeys semble être situé au editor.__proto__.grabKeys.

Comment devrais-je penser à ce sujet?

+0

Ressemble à 'CodeMirror.fromTextArea ('code', options);' retourne 'undefined'. Peut-être que vous passez les mauvais arguments à cette fonction? – harto

+0

Si je console.log (éditeur), il retourne comme un objet que je peux explorer. – Tristan

Répondre

2

Probablement yoour code doit être quelque chose comme ceci:

var editor = new CodeMirror.fromTextArea('code', options); 
editor.grabKeys(function(e) { alert("Key event");}); 

Notez l'opérateur 'new' ..

Voici une bonne explication de ce que appelle la méthode prototype sont pour:

http://www.javascriptkit.com/javatutors/proto.shtml

+0

Cela ne semble pas le réparer. – Tristan

+1

La documentation liée à suggère autre. – harto

+0

Désolé n'a pas vu que deTextArea est une fonction d'utilité qui construit l'objet pour vous. Alors, quel est votre objet 'options'? Pouvez-vous poster le contenu ici? – Vlad

Questions connexes