在mouseover / mouseout上没有定义jQuery事件

嗨我有一个function使用jQuery 1.3.2工作正常,但现在我试图用1.4.2运行它,我得到以下错误“事件未定义”。 这里是简化的代码:

Del Norte County Siskyou County

这是function:

 $(function () { $('area').bind('mouseover mouseleave', function () { var mytext = $('#mytext'); if (event.type == "mouseover") { var countyname = $(this).attr("alt"); mytext.html(countyname); mytext.addClass('textcontainer'); } else { mytext.text(''); mytext.removeClass('textcontainer'); } }) }); 

该类使div mytext可见并在其周围放置一条线,显示正在翻转的县名。

firebug中的错误中断位于定义mytext变量的行上。 但我怀疑问题是下面的语法问题:if(event.type ==“mouseover”)

谢谢,丽兹

您需要命名事件参数,如下所示:

 $('area').bind('mouseover mouseleave', function(event){ ^ add this 

然而,使用.hover()更容易,像这样:

 $(function() { $('area').hover(function(){ var countyname = $(this).attr("alt"); $('#mytext').html(countyname).addClass('textcontainer'); }, function() { $('#mytext').text('').removeClass('textcontainer'); }); }); 

它不完全相同 ,但通常更好一点,它使用mouseentermouseleave而不是mouseovermouseout (因此在进入/离开孩子时不会触发)。