[JavaScript] Funktionen sperren oder alternative neu definieren?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [JavaScript] Funktionen sperren oder alternative neu definieren?

    Hallo!

    Habe mal zwei Fragen:
    1. Ist es mit JavaScript möglich diverse Funktionen vor der Ausführung zu hindern, wenn man die Funktionsbezeichnungen kennt?
    2. Ist es möglich vorhandene Funktionen NEU zu definieren?


    - falls diese Punkte nicht möglich sind, ist es mit jQuery möglich?

    Vielen Dank für Eure Antworten im vorraus.

    Lg,
    Sascha

  • #2
    1. Ja, wegen 2.
    2. Ja. Ich überschreibe zum Beispiel oft die alert-Funktion, um statt des Browserdialogs einen eigenen in einem Overlay anzuzeigen.

    falls diese Punkte nicht möglich sind, ist es mit jQuery möglich?
    jQuery ist auch nur Javascript.
    Zuletzt geändert von onemorenerd; 20.05.2009, 12:47.

    Kommentar


    • #3
      hmmm vielen Dank schonmal, nur folgender Denkansatz:

      Ich habe ein Javascript, welches in einer Seite eingefügt ist, mittels

      <script src="test.js"></script>

      In diesem JS gibt es dann die Funktion TesteMich() oder so...

      Füge ich nun nach<script src="test.js"></script> beispiels ein

      <script type="text/javascript">
      window['TesteMich'] = function() { alert('test'); };
      </script>

      oder davor

      <script type="text/javascript">
      function TesteMich() { alert('test'); };
      </script>

      funktioniert es nicht - ich denke das rührt daher, weil wenn ich es davor schreibe, wird meine Funktion durch das js überschrieben - und danach ist auch untinteressant, weil da das js ja bereits ausgeführt wurde?!?!

      Kommentar


      • #4
        Jonathan Yong: Javascript function overriding, Part 1

        Kommentar


        • #5
          jepp das habe ich doch verstanden! Habe doch fast das selbe oben schon geschrieben!

          Das riesen Problem ist nur, dass in dem <script src="test.js"></script>
          bereits das ganze Script abgehandelt wird incl. meinetwegen einem alert() oder so!!!

          Kommentar


          • #6
            Dein Code:
            Code:
            function foo() { ... } // <- Deklaration
            foo(); // <- Aufruf
            function foo() { ... } // <- Überschreiben
            Das Überschreiben funktioniert zwar, aber im Moment des Aufrufs ist nur die erste Deklaration bekannt und wird benutzt. Du musst die Folge von Aufruf und Überschreibung ändern!

            Kommentar


            • #7
              hast du funktion als solche aufgebaut oder als objekt? so was funktioniert eigentlich immer:
              PHP-Code:
              function bla ()
              {
                function 
              doSomething ()
                {
                  
              alert ('blubb');
                }
              }

              var 
              obj = new bla();
              obj.doSomething = function ()
              {
                
              alert ('blubber');
              };

              obj.doSomething(); 
              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar

              Lädt...
              X