1つの変数をインラインでjQuery関数に渡そうとしています(つまりonMouseOver="function();"
、実際のリンク(画像マップのエリアタグ)内で使用しています)。
関数は、行の前に配置した場合にのみ呼び出されますが$(document).ready(function(){
、これを行うと、jQueryでさまざまな問題が発生します。
私が欲しいのは、単純なタグ(<area shape="circle" coords="357,138,17" onMouseOver="change('5');" id="5" />
通常のjQueryコード本体に含まれる関数を起動するなど)用です。
この点を説明するために、次のように機能します。
<script type="text/javascript">
function myfunction(x) { alert(x); //Alerts 2
}
</script>
<img src="/shared_images/loading.gif" border="0" usemap="#Map">
<map name="Map"><area shape="rect" coords="171,115,516,227"
onMouseOver="myfunction('2')"></map>
しかし、以下はそうではありません
<script type="text/javascript" src="scripts/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
function myfunction(x) { alert(x); //Nothing happens
}
}
</script>
<img src="/shared_images/loading.gif" border="0" usemap="#Map">
<map name="Map"><area shape="rect" coords="171,115,516,227"
onMouseOver="myfunction('2')"></map>