jex: Meine erstes Framework: Ergänzung der Methoden

Hi Leute,
ich bin gerade dabei mein erstes eigenes Javascript-Framework zu schreiben.
Im Moment habe ich aber Probleme mein Haupt-Object mit Methoden zu ergänzen.

  
/**  
 * @author jex  
 */  
(function(){  
	//constructor  
	function proton(el) {  
	    this.elements = [];  
		  
		var cur_el;  
	    for (var i = 0; i < el.length; i++) {  
		    cur_el = el[i];  
			  
			if (typeof cur_el == 'string') {  
		       	cur_el = document.getElementById(cur_el);  
			}  
				  
			this.elements.push(cur_el);  
	    }  
	    return this.elements;  
  	}  
  
	  
	//methods  
	proton.prototype = {  
		/*each: function(fn){  
			for (var i = 0; i < this.elements.length; i++) {  
				fn.call(this, this.elements[i]);  
			}  
			return this;  
		}*/  
		foo: function(bar){  
			alert('foorbar');  
			return bar;  
		}  
	};  
  
	window.$ = function(){  
		return proton(arguments);  
	};  
})();  

Wenn ich nun
$('debuger').foo('peter');
aufrufe, wird aber nicht 'peter' zurückgegeben, sondern ich bekomme den Fehler "$("debuger").foo is not a function" :(
Ich verstehe das nicht, bitte helft mir.

MfG
J.Exner

  1. window.$ = function(){
    return proton(arguments);
    };

    Du musst hier dein Objekt auch erzeugen und die Methoden müssen this zurück geben.

    Struppi.

    1. window.$ = function(){  
        return proton(arguments);  
      };  
      

      Du musst hier dein Objekt auch erzeugen und die Methoden müssen this zurück geben.

      Struppi.

      Ich glaube, das Problem ist das ich new vergessen habe, also

      window.$ = function(){  
        return new proton(arguments);  
      };  
      

      werde es gleich mal ausprobieren.

      1. Struppi.

        Bitte keine Fullquotes, nur das zitieren, auf das du antwortest.

        Ich glaube, das Problem ist das ich new vergessen habe, also

        window.$ = function(){  
          return new proton(arguments);  
        };  
        

        werde es gleich mal ausprobieren.

        Wie ich dir schon sagte, ist das nur ein Problem.

        Struppi.

  2. ich bin gerade dabei mein erstes eigenes Javascript-Framework zu schreiben.

    Ich hab das gestern nicht gefunden. Aber dein Ansatz ähnelt diesem
    http://www.dustindiaz.com/?p=302, hier siehst du aber was ich meine, mit dem Konstruktor und dem this.

    Struppi.