molily: problem

Beitrag lesen

Hallo,

$(function() {

$("#ul1 > li").click(function(li) {
  var url = $(li).find("a").attr("href");
  document.window.location.href = url;
});
});


> >   
> > Wie nennt man diese Schreibweise einer Funktion?  
>   
> Immediately Invoked Function Expression (IIFE), hier die jQuery-Notation davon.  
  
Das ist keine Immediately-Invoked Function, was man daran erkennt, dass sie nicht immediately invoked wird. ;) Dazu fehlt der Call-Operator.  
  

> > Was ist der Unterschied zwischen  
> >   
> > `function whatever() {}`{:.language-javascript}  
> >   
> > und  
> >   
> > `$(function() {});`{:.language-javascript}  
>   
> ... und der Variante ohne jQuery  
>   
>    `(function() {}) ();`{:.language-javascript}  
>   
> Beispiel 1 definiert eine Funktion mit einem Namen, die durch Angabe ihres Namens und eines Klammernpaares (ggf. mit Parameterliste) bei Bedarf aufgerufen wird. Beispiel 2 und 3 definieren eine anonyme (namenlose) Funktion, die im jQuery-Fall wegen des umschließenden $(), im anderen Fall durch die angehängten Funktionsklammern sofort nach der Deklaration aufgerufen wird.  
  
Das gilt für Beispiel 2, nicht für Beispiel 3.  
  
$(fn) ist äquivalent zu [$(document).ready(fn)](http://api.jquery.com/ready/). Es registriert in neueren Browsern einen Handler für den Event [DOMContentLoaded](https://developer.mozilla.org/en-US/docs/Web/Reference/Events/DOMContentLoaded) bei document. Da DOMContentLoaded bereits gefeuert worden sein kann, wird mit document.readyState geprüft, ob das DOM bereits zur Verfügung steht.  
  
<http://www.w3.org/TR/html5/dom.html#dom-document-readystate>  
<http://www.w3.org/TR/html5/dom.html#current-document-readiness>  
  
Falls ja, wird die übergebene Funktion sofort ausgeführt (um genau zu sein: asynchron bei der nächsten Gelegenheit). Insofern verhält sich der Code ähnlich zu einer IIFE. Das ist ein netter Nebeneffekt. Aber in erster Linie geht es hier darum, Code beim »DOM-ready« auszuführen.  
  
Siehe auch  
<https://github.com/jquery/jquery/blob/master/src/core/ready.js>  
  
Mathias

-- 
[Chaplin.js - JavaScript application architecture](http://chaplinjs.org/)
0 49

problem

Nightloewe
  • javascript
  1. 0
    Klawischnigg
    1. 0
      Jeena Paradies
  2. 0
    Jeena Paradies
    1. 0
      Malcolm Beck´s
      1. 0
        Der Martin
        1. 0
          Malcolm Beck´s
          1. 0
            Der Martin
            1. 0
              Malcolm Beck´s
              1. 0
                Der Martin
                1. 0
                  Malcolm Beck´s
                  1. 0
                    Der Martin
                    1. 0
                      Malcolm Beck´s
        2. 0
          molily
      2. 7
        1UnitedPower
        1. 0

          Korrektur am Codebeispiel

          1UnitedPower
        2. 0
          Malcolm Beck´s
          1. 0
            1UnitedPower
            1. 0
              Malcolm Beck´s
              1. 0
                1UnitedPower
                1. 0

                  JQuery, Funktionen und Anonyme Funktionen

                  Malcolm Beck´s
                  1. 0
                    1UnitedPower
                    1. 0
                      Malcolm Beck´s
                      1. 0
                        1UnitedPower
                        1. 0
                          Malcolm Beck´s
                    2. 0
                      Der Martin
                      1. 0
                        1UnitedPower
                      2. 0
                        Malcolm Beck´s
                        1. 0
                          Der Martin
                          1. 0
                            Malcolm Beck´s
        3. 0
          molily
        4. 3
          molily
          1. 0
            1UnitedPower
      3. 0
        Klawischnigg
      4. 0

        Gibt es Benchmark-Tools für Seiten mit Javascript?

        Malcolm Beck´s
  3. 0
    MudGuard
  4. 0
    Nightloewe
  5. 1

    Sinnvoller Titel, Problembeschreibung

    Der Martin
    • zu diesem forum
    1. 0
      Gunnar Bittersmann
      1. 0
        Der Martin
        1. 0
          Gunnar Bittersmann
          1. 0
            misterunknown
            1. 0
              Gunnar Bittersmann
              1. 0
                misterunknown
                1. 0
                  Gunnar Bittersmann
                  1. 0
                    Matthias Apsel
                    1. 0
                      Gunnar Bittersmann
                  2. 0
                    misterunknown
                    1. 0
                      Gunnar Bittersmann