2016-09-27 6 views
1

jQueryはWordPressに含まれていますcompatibility modeにあります。他のライブラリとの競合を避けるため、jQueryのショートカットは$には使用できません。 $記号を使用するには、

jQuery(document).ready(function($) { 
    $('#myid').css({'background': 'black', 'color': 'white'}); 
}); 

を使用します。しかし、私の質問は、ウィンドウの負荷で同じことを行う方法です。私は最後のいくつかのプロジェクト以来、この問題に直面してきました。それで、コンセプトを明確にすることを考えてください。

jQuery(window).load(function($) { 
    $('#myid').css({'background': 'black', 'color': 'white'}); 
}); 

これで私はエラー:$ is not a functionが得られます。したがって、コードブロックwindow.loadの中に$を使用できません。誰でものショートカットをwindow.loadの中でどのように使うことができますか?

答えて

8

これは、no conflict modeと呼ばれ、互換モードではありません。です。これを有効にするには、closureまたはIIFEを使用する必要があります。ready statesはjQueryオブジェクトをパラメータとして渡します。loadなどはこれを行いません。

(function($) { 
    $(window).load(function() { 
     $('#myid').css({'background': 'black', 'color': 'white'}); 
    }); 
})(jQuery) 

loadはあなたが(一般で単なる一例として、あなたshould not put a window load inside a ready state)あまりにもそれを直接使用することができますready stateの内側にすでにある場合:

jQuery(function($) { 
    $(window).load(function() { 
     $('#myid').css({'background': 'black', 'color': 'white'}); 
    }); 
}); 

そして、このようなタスクのための.load()は廃止されることに注意してください!代わりに.on()を使用してください。

+0

すべての情報をお寄せいただきありがとうございます。 –

+0

ようこそ、@キランダッシュ – eisbehr

関連する問題