0

予想どおりに動作しない驚くほど単純な jQuery コードがあります。

カーソルを合わせたときにdivのクラスを変更し、マウスがdivの領域外にあるときにクラスを元に戻したいです。これが私のコードです。

function WireHandlers()
{
    SetBannerHoverImage();
}

function SetBannerHoverImage()
{
    $("#banner").hover( OnBannerHover. OnBannerOut );
}

function OnBannerHover()
{
    $("#banner").removeClass("grayGradiant");
    $("#banner").addClass("redGradiant");
}

function OnBannerOut()
{
    $("#banner").removeClass("redGradiant");
    $("#banner").addClass("grayGradiant");
}

$(document).ready( function() { WireHandlers(); } );

document.ready は callを呼び出しWireHandlers、それは callSetBannerHoverImageを呼び出し、メソッドを正常に呼び出します$(selector).hover()

ただし、div にカーソルを合わせると、リスナーOnBannerHoverOnBannerOutリスナーは呼び出されません。

PS:エリアの 100% をカバーする div 内にテーブルがあることに注意することが重要かもしれません。

4

3 に答える 3

1

api.jquery.com の例のように、ハンドラーをコンマで区切る必要があります。

$( selector ).hover( handlerIn, handlerOut )

だから試してください:

$("#banner").hover( OnBannerHover, OnBannerOut );
于 2013-11-03T09:39:58.547 に答える
0

多分次のようなものを試してください:

$("#banner").hover(
function(){
$(this).removeClass('red').addClass('grey');
},
function(){
$(this).removeClass('grey').addClass('red');
}
);
于 2013-11-03T09:41:07.660 に答える