Konstruktor-Problem bei jQuery Plugin.

  • Moin,


    ich habe ein jQuery Plugin geschrieben, hatte auch super funktioniert. Allerdings funktioniert es jetzt nicht mehr, obwohl darans nichts mehr verändert wurde.

    Ich habe das so (Auszug):


    Dann habe ich es initalisiert:

    Code
    function BootOs_Dropbox(elem) {
        var myBootOs = new $.Dropbox({content: 'ajax/test.php', elem: elem, ajax: true});
    }


    Und wird so getriggert:

    Code
    <i class="icon-clock2" id="clock_dropbox" onclick="BootOs_Dropbox(this.id)"></i></li>


    Allerdings kommt dann die Fehlermeldung Uncaught TypeError: $.Dropbox is not a constructor

    Das sollte nach meiner Auffassung funktionieren weil $.plugin = function() { } ist der Konstruktor.


    Ich habe die jQuery CDN angeschaut, ist noch verfügbar, unverändert und habe die Dokumentation von jQuery angeschaut wo es eigentlich funktionieren sollte.


    Habe ich etwas übersehen, vergessen oder sonstige Tipps für mich, das es wieder funktionieren könnte?


    Grüße,

    palwal


    EDIT: Das funktioniert nur nicht in einer seperaten JS Datei. Wenn dieses Script auf der gleichen Seite imScript-tag vorhanden ist, funktioniert es. Die JS-Seite ist aber korrekt geladen und an letzter Stelle angeordnet.

    Wer PALWAL-Sternchen vergibt, bekommt aus Prinzip ein Like 😏


    @palwal Donald Trump ist einer der besten Präsidenten welche die USA je hatte, meine Meinung.

    Einmal editiert, zuletzt von palwal () aus folgendem Grund: Ursache herausgefunden

  • (function($) {

    Es ist komisch, dass du Dropbox direkt aufrufst.

    Normalerweise musst du das dem $.fn Objekt hinzufügen.


    In deinem Fall am Ende (der (function($) { Funktion) folgendes tun:


    $.fn.Dropbox = Dropbox;


    Und dann das wie folgt aufrufen:


    JavaScript
    function BootOs_Dropbox(elem) {
        var myBootOs = new $.fn.Dropbox({content: 'ajax/test.php', elem: elem, ajax: true});
    }

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S