0

2つのサイトで関数を使用していますが、3番目のサイトに実装したいのですが機能しません。Firebug Consoleを調べると、機能ではないと表示されます。私の関数はprofilter.jsという別のファイルにあります。次のようになります。

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

そして私はそれをページから呼んでおり、コードは次のとおりです。

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

以下のconsole.logを確認しました1-jQueryはすでに含まれています2-jsファイルからconsole.logを実行すると機能しますが、コードブロック内では機能しません3-ul.productSmallはconsole.logに正しい結果を表示します

サイトのリンクを提供することはできますが、提供しないため、モデレーターはスパムとは見なしません。

苦労しましたが、どこを間違えているのか教えてください。

コンソールは次のようになります

4

2 に答える 2

2

(上記のコメントからコピー。)

jQueryを2回インクルードすると、2回目のロードはprofilter.jsのインクルードのはるか下で発生し、カスタム関数が破棄されます。

于 2012-04-06T07:24:55.377 に答える
0

jquery uiスクリプトを含めていますか?.button()がで呼び出されるように見えます

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

私はこれでうまくいくだろうという予感があります。

于 2012-04-06T04:37:50.623 に答える