在mouseover / mouseout上没有定义jQuery事件
嗨我有一个function使用jQuery 1.3.2工作正常,但现在我试图用1.4.2运行它,我得到以下错误“事件未定义”。 这里是简化的代码:
这是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'); }); });
它不完全相同 ,但通常更好一点,它使用mouseenter
和mouseleave
而不是mouseover
和mouseout
(因此在进入/离开孩子时不会触发)。