web-dev-qa-db-ja.com

最後にjQueryスクリプトを読み込む方法

これを最後にロードする方法

 <script type="text/javascript">
  jQuery(document).ready(function(){
   jQuery("div.domTip_tipBody").mouseover(function(){
   jQuery("#yyy a.tippy_link").css("background-color","yellow");});  

   jQuery("div.domTip_tipBody").mouseout(function(){
   jQuery("#yyy a.tippy_link").css("background-color","red");
 }); 
 });  
 </script>

"div.domTip_tipBody"が実行される前に実行されています(これはショートコードによって生成されます)。

私が試してみました:

<script src="script.js" type="text/javascript" defer="defer"></script>

私のheader.phpの前に

</head> 

しかし、それは役に立ちません。

"window.onload ="を見ましたが、それを適用する方法がわかりません。

任意の洞察力が高く評価されています。

ありがとう

2
xyz
add_action('wp_footer','myscript_in_footer');
function myscript_in_footer(){
?>
<script type="text/javascript">
  jQuery(document).ready(function(){
   jQuery("div.domTip_tipBody").mouseover(function(){
   jQuery("#yyy a.tippy_link").css("background-color","yellow");});  

   jQuery("div.domTip_tipBody").mouseout(function(){
   jQuery("#yyy a.tippy_link").css("background-color","red");
 }); 
 });  
 </script>
<?php
}
0
Rajeev Vyas
  1. コードをyour_name.jsという名前のファイルに入れます。
  2. 以下をfunctions.phpファイルに追加してください。

    function wpse47618_load_script_last()
    {
        wp_enqueue_script( 'zzz_your_name', get_stylesheet_directory_uri().'your_name.js', array( 'jquery' ), '0', true );
    }
    add_action( 'wp_enqueue_scripts', 'wpse47618_load_script_last', 99999 );
    
  3. スクリプトが正常に追加され、ファイルへのパスが正しい場合は、ページのソースコードを確認してください。 FireBugまたは他の開発ツールを使用している場合は、ファイル名をクリックして、スクリプトの内容がそこにあることを確認します。
  4. これで終わりです。
5
kaiser

これはjQueryイベントの委任の問題のように見えます。ページがロードされた後に新しいDOM要素が追加された場合、jQueryはそれらを読みません。したがって、そのような要素が現在または将来存在する場合は、事前にjQueryにイベントをバインドするように指示する必要があります。

$.delegate('div.domTip_tipBody','mouseover', function(e){ jQuery("#yyy a.tippy_link").css("background-color","yellow");}); });を試す

http://api.jquery.com/delegate/http://lab.distilldesign.com/event-delegation/ を参照してください。

1
rashid

あなたは単にfooter.phpにスクリプトを追加することができ、それはおそらくうまくいくでしょう、しかしそれはjQueryの衝突を避けるための最善の方法ではありません。

最善の方法は、スクリプトを別のファイルからエンキューすることです。 http://codex.wordpress.org/Function_Reference/wp_enqueue_script を参照してください。これには、wp_footerを介してフッターにスクリプトをロードするためのパラメータがあります。

そしてWordPressでの衝突のないJavaScriptとCSSへの開発者ガイドを見てください: http://wp.smashingmagazine.com/2011/10/12/developers-guide-conflict-free-javascript-css-wordpress/

0
markratledge

これは「少し」遅れているかもしれませんが、万が一誰かがまだ見ている場合のために:

http://css-tricks.com/snippets/jquery/run-javascript-only-after-ntire-page-has-loaded/ /

それを行うのに便利でシンプルな方法!

0
Sam