1

私は自分の Web サイトの 1 つのページでjQuery ツール(具体的にはフォーム バリデーター) とJQuery Facebook 関連のスクリプトを使用しています。

各スクリプトでは、HTML の「ヘッド」にある外部ファイルと、HTML の「ボディ」にある別のスクリプトの両方を参照する必要があります。

これが私のHTMLの「本文」にあるスクリプトのコードです(簡略化):

最初のスクリプト (Facebook スクリプト) `

                function init() {
                  FB.api('/me', function(response) {
                    $(".s_name").replaceWith('<input type="hidden" name="s_name" id="' + response.name + '" value="' + response.name + '" />');
                    ..do more replaceWith stuff
                  });
                }
                //Live update of page as user selects recipient and gift options
                $(".jfmfs-friend").live("click", function() {
                  var friendSelector = $("#jfmfs-container").data('jfmfs');             
                  ...do stuff});  
              `

2 番目のスクリプト (jQuery ツール - バリデーター) `

            $("#form").validator({
              position: 'top left',
              offset: [-5, 0],
              message: '<div><em/></div>',
              singleError: true
            });
          `

最初のスクリプトの .click 関数がアクティブになるまで、すべてが正しく機能します。その時点で、バリデータ スクリプトは動作を停止します。この問題は競合する jQuery $ に関連していると思いますが、修正方法がわかりません。さまざまな分野で使用jQuery.noConflict()してみましたが、うまくいかず、どのように使用すればよいかよくわかりません。

どんな助けでも大歓迎です!

4

1 に答える 1

1

'jQuery'all の代わりに次の'$'ように使用してみてください。

jQuery(document).ready(function() {});に対して$(document).ready...

利益相反の状況では、長いバージョンを使用せざるを得ませんでした。

于 2012-06-19T21:32:55.653 に答える