2012-04-06 28 views
0

Ich verwende eine Funktion in zwei Sites, aber wenn ich es auf der dritten Seite implementieren will, funktioniert es nicht. Wenn ich in Firebug Konsole schaue, sagt es, dass es keine Funktion ist. Meine Funktion ist in einer separaten Datei mit dem Namen profilter.js wie folgt aussehen:Ich habe Funktion, aber in Firebug Konsole sagt es nicht eine Funktion, wo ich es nenne?

jQuery.fn.sfProductFilter = function (options) { 
    options = options || {}; 
    return this.each(function() { 
     var pf = new SFProductFilter(this, options) 
    }) 
} 

und ich rufe es von einer Seite und Code ist:

$(document).ready(function(){ 
      console.log($("ul.productSmall")); 
      $('ul.productSmall').sfProductFilter(); //says not a function. 
}); 

Ich habe überprüft durch console.log folgenden 1- jQuery ist bereits enthalten 2- Wenn ich von den js Datei console.log es funktioniert, aber innerhalb jeder Codeblock hat es nicht 3- ul.productSmall zeigt richtigen Ergebnisse in console.log

ich kann Link zur Verfügung stellen Seite? ˅ aber es einfach nicht zu liefern, so dass der Moderator nicht denkt, dass es ein Spam ist.

Ich habe viel gekämpft, bitte lassen Sie mich wissen, wo ich Fehler mache?

console look like

+0

Setzen Sie den Browser-Cache zurück und versuchen Sie es erneut. Überprüfen Sie, ob das Skript tatsächlich geladen wird – sakhunzai

+0

Wie wird das Skript geladen? – Imran

+0

sfProductFilter oder SFProductFilter ist keine Funktion? –

Antwort

2

(Kopiert von comment above.)

Du einschließlich zweimal jQuery, die zweite Last weit unter der Einbeziehung von profilter.js geschieht und zerstört Ihre eigene Funktion.

+1

This!Es ist sehr üblich, wenn Sie mit Frameworks (wie WP, Drupal usw.) arbeiten, dass sie jQuery enthalten. Wenn Sie also Ihr eigenes jQuery-Include hinzufügen, überschreibt es das andere. Sie sollten immer var $ myJQ = jQuery.noConflict(); Fügen Sie dann Ihre Erweiterungen zu $ ​​myJQ hinzu. Dadurch wird sichergestellt, dass Sie bei der Arbeit mit größeren Codebasen nicht auf solche Probleme stoßen. –

0

Sind auch Sie die jQuery UI-Skript? Sieht aus wie .Taste() in

function myChecks(){ 
    $("#checkboxcontainer input[type='checkbox']").button(); 
} 

Ich habe das Gefühl, diese wird der Trick bezeichnet wird.

+0

in der Konsole sagt es: $ ("ul.productSmall"). SfProductFilter ist keine Funktion [Unterbrechen Sie diesen Fehler] $ ('ul.productSmall'). sfProductFilter(); – Imran

+0

wird Ihr Skript vor oder nach jQuery eingefügt? wo ist jQuery.fn.sfProductFilter = Funktion (Optionen) { Optionen = Optionen || {}; return this.each (Funktion() { var pf = neuer SFProductFilter (dies, Optionen) }) } aufgerufen? –

+1

hoffentlich sobald Sie die jQuery UI dies beheben kann –

Verwandte Themen