Ergebnis 1 bis 13 von 13

Thema: $(document).ready(function(){

  1. #1
    Alter Contao-Hase
    Registriert seit
    02.10.2010.
    Ort
    58636 Iserlohn
    Beiträge
    1.084

    Standard $(document).ready(function(){

    Hallo,

    in meiner 4.4.2-Installation wird das im folgenden Block nicht ausgeführt:
    HTML-Code:
    $(document).ready(function(){
    
    ...
    
    
    });
    Kennt Jemand das Problem?

    Gruß
    Thoni
    Meine Extensions: contentmodify, dca_editor

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Hast du jQuery überhaupt aktiviert? Außerdem solltest du deinen Code so
    Code:
    (function($)
    {
    
    })(jQuery);
    oder zumindest so
    Code:
    jQuery(document).ready(function($)
    {
    
    });
    wrappen.

  3. #3
    Alter Contao-Hase
    Registriert seit
    02.10.2010.
    Ort
    58636 Iserlohn
    Beiträge
    1.084

    Standard

    Ja, es ist aktiviert.

    Mit jQuery statt $ funtioniert es auch nicht.

    Lasse ich den wrap weg, so funktioniert es.
    Meine Extensions: contentmodify, dca_editor

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Poste einen Link zur Seite.

  5. #5
    Alter Contao-Hase
    Registriert seit
    02.10.2010.
    Ort
    58636 Iserlohn
    Beiträge
    1.084

    Standard

    Die Seite ist leider noch nicht öffentlich zugängig.

    Kleiner Test:

    das geht:
    Code:
    alert(jQuery('body').height());
    das geht nicht:
    Code:
    jQuery(document).ready(function(){
    alert(jQuery('body').height());
    });
    Meine Extensions: contentmodify, dca_editor

  6. #6
    Alter Contao-Hase
    Registriert seit
    02.10.2010.
    Ort
    58636 Iserlohn
    Beiträge
    1.084

    Standard

    GELÖST!


    Ich hatte ein 3.5 in 4.4 übernommen.
    Die jquery-ui.min.js wurde nicht geladen, da in dem Template j_accordion.html5 noch der flsche Link aus 3.5 stand.

    Richtig ist: <script src="<?= TL_ASSETS_URL ?>assets/jquery-ui/js/jquery-ui.min.js"></script>


    Danke
    Meine Extensions: contentmodify, dca_editor

  7. #7
    Contao-Urgestein Avatar von FloB
    Registriert seit
    19.06.2009.
    Ort
    Sonnensystem
    Beiträge
    1.618

    Standard

    Der Vollständigkeit halber: Immer in die Web-Konsole des Browsers schauen, da werden die JavaScript-Fehler protokolliert. Ist bei jedem Browser dabei, z. B. für die Web-Konsole vom Firefox findest du bei MDN Infos. In diesem Fall hätte auch ein Blick in das Netzwerkprotokoll geholfen (beim Firefox "Netzwerkanalyse" in den DevTools), hier wäre z. B. bei der jQuery-Datei aufgefallen, dass die Datei nicht geladen werden kann.

    Diese Infos helfen dir dann das Problem selber zu lösen, und wenn du trotzdem jemanden fragen musst, kannst du insbesondere mit der Weitergabe des JS-Fehler-Protokolls die Lösungssuche erheblich vereinfachen.
    So long,
    FloB since Nov. 2007 +706P +115P and counting

  8. #8
    Alter Contao-Hase
    Registriert seit
    02.10.2010.
    Ort
    58636 Iserlohn
    Beiträge
    1.084

    Standard

    Dass man mal was übersieht, passiert wohl jedem im 'Sonnensystem' mal.

    Außerdem dachte ich, dass 'ready' in der normalen jquery verarbeitet wird (jQuery funktionierte ja grundsätzlich) und nicht in der 'ui'.
    Meine Extensions: contentmodify, dca_editor

  9. #9
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    ready() wird wohl auch in der "normalen jquery" bereit gestellt (https://api.jquery.com/ready/).

    Nur eine Idee -- ich bin nicht der JS Experte: wenn jquery-ui nicht geladen werden kann ist das Dokument nie ready und deshalb wird nichts getriggert.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  10. #10
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von fiedsch Beitrag anzeigen
    wenn jquery-ui nicht geladen werden kann ist das Dokument nie ready und deshalb wird nichts getriggert.
    "ready" bezieht sich nur auf den DOM. Es muss nicht alles geladen sein.

    Aber man braucht einen Link zur Seite um zu debuggen. Alles andere ist mehr oder weniger Spekulation.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  11. #11
    Contao-Nutzer
    Registriert seit
    11.09.2016.
    Beiträge
    79

    Standard jQuery Shortcut '$'

    Sehe ich es richtig, dass der jQuery Shortcut '$' anstatt 'jQuery' grundsätzlich verwendet werden kann, so lange kein anderes Framework wie z.B. mootools verwendet wird?
    Ich benutze bei meinen Entwicklungen immer $(this).bla... anstatt jQuery(this).bla...
    Oder gibt es bei Contao (oder generell) einen Grund der gegen diese Technik spricht?

  12. #12
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Zitat Zitat von *igi* Beitrag anzeigen
    Oder gibt es bei Contao (oder generell) einen Grund der gegen diese Technik spricht?
    "Es wird kein weiteres Framework verwendet" gilt halt auch immer nur so lange, bis plötzlich doch ein weiteres verwendet wird. Und dann funktioniert alter Code "unerklärllicher weise plötzlich" nicht mehr.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  13. #13
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Nein, man kann ganz normal $('.myElement') benutzen. Benutzt man eine weitere Bibliothek, dann sollte man alle Scripts so wrappen, wie Contao das auch macht.
    https://github.com/contao/core/blob/...on.html5#L4-L5
    https://github.com/contao/core/blob/...on.html5#L3-L4
    (dom)ready braucht man dabei nicht immer aber meistens.

    Wenn man seine Scripts immer so wrapt, braucht man sich über Konflikte keine Gedanken mehr zu machen.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

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