2016-03-27 9 views
0

私のjqueryコードを見てください。jqueryの使用後もコンフリクトnoConflict関数

3つのクリック機能があります。 1 slideToggleメニューをクリックした後、2番目の場所のドキュメントをクリックし、メニューを閉じ、3番目のクラスを回転させるをクリックします。ここで

は私のjqueryのコードです:

 <nav> 
      <a href="#" id="rs-float-menu" class="rs-dropdown-toggle"> 
       <img src="/wp-content/uploads/2016/03/add.png" class="rs-img"/> 
      </a> 
      <ul class="rs-dropdown"> 
       <li><a href="#">Menu Item</a></li> 
       <li><a href="#">Menu</a></li> 
       <li><a href="#">Settings</a></li> 
       <li><a href="#">Search</a></li> 
      </ul> 
     </nav> 
     <a href="#"><div class="fa fa-chevron-up rotate"></div></a> 

ドロップダウンが正常に動作しますが、私はこれを使用する場合、ドロップダウンが

..動作を停止し、このjQueryの機能がない場合:ここで

<script> 
    $(function() { 
     // Dropdown toggle 
     $('.rs-dropdown-toggle').click(function(){ 
      $(this).next('.rs-dropdown').slideToggle('slow'); 
     }); 

     $(document).click(function(e) { 
      var target = e.target; 
      if (!$(target).is('.rs-dropdown-toggle') && !$(target).parents().is('.rs-dropdown-toggle')) { 
      $('.rs-dropdown').slideUp(); 
      } 
     }); 

    }); 
    jQuery.noConflict(); 
    (function($) { 
     $(".rotate").click(function(){ 
      $(this).toggleClass("down"); 
     }); 
    })(jQuery); 
</script> 

は、HTMLコードがあります

jQuery.noConflict(); 
    (function($) { 
     $(".rotate").click(function(){ 
      $(this).toggleClass("down"); 
     }); 
    })(jQuery); 

&コンソールがこれを示していますが、2番目のコードは正常に動作します。 http://jsfiddle.net/koala_dev/3v2egwfs/7/

console error

問題がどこにあるか私は理解していません!私は、私はあなたが間違った理由のためnoConflict()を追加し、あなたの全体の問題は、最後のイベントリスナーがあったことだったと思い

+2

を試してみてくださいが存在する前に、あなたのコードを実行されていたであろうかまたは、なぜそれをまったく使用していますか?特定の問題は何ですか?どのようなエラーがスローされますか?助けが必要な場合はさらに明確にする必要があります。 – charlietfl

+0

実際に何が起こっているか説明してください。 '$'を使った後に 'noConflict'を使う理由は何ですか?あなたは紛争があると思いますか? –

+0

@DaveNewtonさらに詳しい情報を追加しました –

答えて

1

してみてください、私はいくつかの愚かなミスをやっていると信じてdocument.readyハンドラーの内部にはありません。スクリプトタグが頭にある場合要素が

なぜあなたはそれのコードの一部ではなく、すべてのために `)` noConflictを(使用していますか?

$(function() { 
    // Dropdown toggle 
    $('.rs-dropdown-toggle').click(function(){ 
     $(this).next('.rs-dropdown').slideToggle('slow'); 
    }); 

    $(document).click(function(e) { 
     var target = e.target; 
     if (!$(target).is('.rs-dropdown-toggle') && !$(target).parents().is('.rs-dropdown-toggle')) { 
     $('.rs-dropdown').slideUp(); 
     } 
    }); 
    // moved inside the ready handler 
    $(".rotate").click(function(){ 
     $(this).toggleClass("down"); 
    }); 

}); 
+0

それは仕事です! –

+0

'conflicts 'が意味することに依存しますか?あなたは本当に問題文でより具体的になることを学ぶ必要があります。 – charlietfl

+0

jconsoleを使ってjqueryバージョンを定義するだけです。jqueryを使用するプラグインは可能ですか? ..今、それは仕事です... 'var jq213 = jQuery.noConflict(true);' –

-5

$.noConflict(); 

代わりの

jQuery.noConflict(); 
+2

目的を破ることはありませんか? –

+0

これは$(document).click(関数(e)と$( "。rotate")のために発生する可能性があります)click(function()both click functions – Kunal

関連する問題