要するに、これは動作します --> http://jsfiddle.net/mammolastan/ccafu/3/
これはありません --> http://jsfiddle.net/mammolastan/2mZVu/
jQueryホバーを使用しています。
例 1 では、関数 append(e) はマウス ホバー時にのみ実行されます。これは私が望んでいることです。
ただし、例 2 に示すように、関数 append(e) に引数を渡そうとすると、append(e) はページの読み込み時にすぐに実行され、スクリプトは機能しません。
jquery ホバーの問題の他の例を探してみましたが、既存の関数を呼び出しているものは見つかりませんでした。ホバー呼び出しで関数が定義されている例しか見つかりませんでした。
Ex1 は -->
<html>
<ul>
<li>Milk</li>
<li>Bread</li>
<li class='fade'>Chips</li>
<li class='fade'>Socks</li>
</ul>
<script>
$("li").hover(append,remove);
$("li.fade").hover(flash);
function append(e)
{
alert(e);
$(this).append($("<span> ***</span>"));
}
function remove(e)
{
$(this).find("span:last").remove();
}
function flash(e)
{ $(this).fadeOut(100);$(this).fadeIn(500);
}
</script>
Ex 2 はここだけ変更 -->
$("li").hover(append('some string'),remove);