Dr.House: Objekt Instanzen speichern

Beitrag lesen

Vielen Dank schonmal für die Mühe!

MeinWidget.instances = [];

MeinWidget.create = function (element) {
  var instances = MeinWidget.instances;
  // Suche nach bestehender Instanz
  for (var i = 0, l = instances.length; i < l; i++) {
    var instance = instances[i];
    // Angenommen, das Element wird in der Eigenschaft »element« gespeichert
    if (instance.element == element) {

  
Das 'element' befindet sich nur in 'instance' (siehe push), nicht in instance.element.  
~~~javascript
  

>       // Gebe bestehende Instanz zurück  
>       return instance;

'instance' enthält das DOM-Element, nicht aber die dazugehörige Instanz.

  

>     }  
>   }  
>   // Erzeuge neue Instanz  
>   var widget = new MeinWidget(element);  
>   MeinWidget.instances.push(element);  
>   return widget;  
> };  
>   
> var widget = createMeinWidget(document.getElementById('foo'));

Der Chrome meckert bei "createMeinWidget", müsste es nicht "MeinWidget.create" heissen?