Ergebnis 1 bis 9 von 9
  1. #1
    squee ist offline Jungspund
    registriert
    24-02-2009
    Beiträge
    13

    Javascript OOP

    Hallo zusammen,

    ich versuche mich in OOP bei Javascript einzuarbeiten bin nun bei einem Problem angekommen bei dem ich nicht weiter komme.
    Ich habe mein Javascript in einer externen Datei und will nun dieses in einer weiteren Datei ausbauen (ähnlich wie bei den jquery plugins).

    Wie kann ich nun diesem Objekts functionen aus einer zweiten Datei hinzufügen?

    Datei 1.

    Code:
    Code:
    (function() {
    
      function _$ (obj) {
           this.element = document.getElementById(id);
       return;
      }
    
      _$.prototype = {
      
        addEvent: function (element, type, fn ) {
           if(window.addEventListener) {
            element.addEventListener(type, fn, false);
           return true;
           } else if(window.attachEvent) { 
            element.attachEvent('on' + type, fn);
           return true;
           } else return false;
        },
      
        ready: function (onloadEvents) {
           var oldonload = window.onload; 
           if (typeof window.onload != 'function') { 
             window.onload = onloadEvents; 
           } else { 
            window.onload = function() { 
              if (oldonload) { 
                oldonload(); 
              } 
               onloadEvents(); 
             } 
           } 
          return this;
        },
        
        click: function(Event) {
          this.addEvent(this.element, 'click', Event);
          return true;
        }
    
      };
    
      window.s = function (obj) {
        return new _$(obj);
      };
    
    })();
    Datei 2.

    Code:

    Code:
    (function() {
    ???
    })();
    Beispielcode in der HTML Datei



    HTML-Code:
        <script type="text/javascript">
        
         s().ready(function(){
             s('test').click(function(){
               alert('test')
             });
         });
        
        </script>

  2. #2
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.666

    AW: Javascript OOP

    Code:
    function xxx() {}
    (function()
    {
      this.yyy = function () {};
    }).call(xxx);

  3. #3
    squee ist offline Jungspund
    registriert
    24-02-2009
    Beiträge
    13

    AW: Javascript OOP

    Hallo hesst,

    vielen dank. Nur leider komme ich damit noch nicht ganz klar.

    Mir ist nicht ganz klar für was das 'xxx' und das 'yyy' stehen.

  4. #4
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.666

    AW: Javascript OOP

    xxx ist das objekt und yyy die funktion um die erweitert wurde.
    oder willst du den prototypen erweitern? dann brauchst du doch nur
    _$.prototype.yyy = function() {};
    zu schreiben?!

  5. #5
    squee ist offline Jungspund
    registriert
    24-02-2009
    Beiträge
    13

    AW: Javascript OOP

    Ich hatte meine Frage schlecht formuliert, ich möchte meinen Prototypen erweitern.

    Nun habe ich folgendes ist meine zweite Javascript Datei geschrieben.

    Code:
    (function() {
    
    _$.prototype.yyy = function() {}; 
    
    })();
    Firebug zeigt nun folgenden Fehler an:

    _$ is not defined
    [Break on this error] _$.prototype.yyy = function() {};

  6. #6
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.666

    AW: Javascript OOP

    Ja, hatte ich übersehen, dein objekt liegt lokal in einer anonymen funktion.
    da hast du im globalen scope keinen zugriff drauf, bzw im sope der 2. anonymen funktion.
    das ist ja aber sicher nicht gewollt.

  7. #7
    squee ist offline Jungspund
    registriert
    24-02-2009
    Beiträge
    13

    AW: Javascript OOP

    Das ist nicht so gewollt. Ich will eigentlich meinen Prototypen immer erweitern können.
    Wie kann ich das Objekt in den globalen Scope bringen.

  8. #8
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.666

    AW: Javascript OOP

    Zitat Zitat von squee Beitrag anzeigen
    Wie kann ich das Objekt in den globalen Scope bringen.
    ??? es global anlegen vielleicht?

  9. #9
    squee ist offline Jungspund
    registriert
    24-02-2009
    Beiträge
    13

    AW: Javascript OOP

    Ok, sry, ich stand grad auf der Leitung.

    Problem ist gelöst.

    Habe das ganze nun ohne

    Code:
    (function() {
    ...
    })();
    geschrieben und nun klappts.

    Vielen Dank

Ähnliche Themen

  1. Antworten: 21
    Letzter Beitrag: 25-01-2010, 16:43
  2. javascript in svg
    Von Speedx im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 19-01-2010, 20:35
  3. Javascript durch Link auf 2. Seite ausführen??
    Von Bass-T im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 27-06-2008, 11:35
  4. Button ohne Funktion - wenn JavaScript deaktiert ist
    Von andie_71 im Forum JavaScript
    Antworten: 9
    Letzter Beitrag: 18-04-2005, 09:13
  5. javascript im javascript
    Von goonsite im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 08-04-2005, 20:25

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •