Hallo,
in meiner 4.4.2-Installation wird das im folgenden Block nicht ausgeführt:
Kennt Jemand das Problem?HTML-Code:$(document).ready(function(){
...
});
Gruß
Thoni
Druckbare Version
Hallo,
in meiner 4.4.2-Installation wird das im folgenden Block nicht ausgeführt:
Kennt Jemand das Problem?HTML-Code:$(document).ready(function(){
...
});
Gruß
Thoni
Hast du jQuery überhaupt aktiviert? Außerdem solltest du deinen Code sooder zumindest soCode:(function($)
{
})(jQuery);
wrappen.Code:jQuery(document).ready(function($)
{
});
Ja, es ist aktiviert.
Mit jQuery statt $ funtioniert es auch nicht.
Lasse ich den wrap weg, so funktioniert es.
Poste einen Link zur Seite.
Die Seite ist leider noch nicht öffentlich zugängig.
Kleiner Test:
das geht:
das geht nicht:Code:alert(jQuery('body').height());
Code:jQuery(document).ready(function(){
alert(jQuery('body').height());
});
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
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.
Dass man mal was übersieht, passiert wohl jedem im 'Sonnensystem' mal. :cool:
Außerdem dachte ich, dass 'ready' in der normalen jquery verarbeitet wird (jQuery funktionierte ja grundsätzlich) und nicht in der 'ui'. :o
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.
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?
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.