Hallo,
ich bin gerade dabei eine eigene Komponente für Joomla zu schreiben.
Ich frage Daten aus einer Datenbank ab und gebe sie in verschiedenen divs und class tags wieder.
Nun möchte ich aber noch mit jQuery weitere Funktionen hinzufügen.
Um jQuery zu integrieren habe ich folgendes gemacht:
In der index.php meines templates habe ich das hinzugefügt:
Nun sollte ja jQuery auf jeder Seite die das Template benutzt jQuery geladen werden.PHP-Code:<?php defined( '_JEXEC' ) or die( 'Restricted access' );
$document = &JFactory::getDocument();
//von mir hinzugefügt
$document->addScript('media/system/js/jquery.js' );
$document->addCustomTag( '<script type="text/javascript">jQuery.noConflict();</script>' );
?>
Das klappt auch, habe es mit Firebug überprüft.
in meiner .php Datei der Komponente habe ich nun folgenden Code:
Ich habe das $ gegen jQuery getauscht, da ich gelesen habe dass es Probleme geben kann da MooTools auch das $ verwendet.Code:jQuery(document).ready(function() { function hideBox(){ jQuery(".box").hide(); } });
Wenn ich die Funktion direkt danach aufrufe, klappt noch alles wunderbar:
Wenn ich aber dann im Code der Komponente zb. einem Link einen Click Handler zuweisen möchte findet er die Funktion nicht:Code:jQuery(document).ready(function() { function hideBox(){ jQuery(".box").hide(); } hideBox(); });
Fehler:Code:<a href="javascript:hideBox()">hide Box<a/>
Ich verstehe nicht wieso die Funktion anonym sein soll, ich habe sie doch oben definiert?Code:Uncaught ReferenceError: hideBox is not defined (anonymous function)
Allerdings muss ich dazu sagen dass das meine erste Komponente ist.
Gibt es da Besonderheiten bei der Verwendung von jQuery in Joomla?
Ich bin für jede Hilfe dankbar!
Grüße,
Kodak


LinkBack URL
About LinkBacks
Zitieren

Lesezeichen