これを最後にロードする方法
<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 ="を見ましたが、それを適用する方法がわかりません。
任意の洞察力が高く評価されています。
ありがとう
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
}
your_name.js
という名前のファイルに入れます。以下を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 );
これは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/ を参照してください。
あなたは単に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/
これは「少し」遅れているかもしれませんが、万が一誰かがまだ見ている場合のために:
http://css-tricks.com/snippets/jquery/run-javascript-only-after-ntire-page-has-loaded/ /
それを行うのに便利でシンプルな方法!