使用简单的jquery鼠标悬停函数时出现问题。
我有很多动态生成的图标,当我悬停时会显示一个隐藏的div,当我鼠标悬停时会隐藏div
<div class='lister1'>
<img src='"+path+stat1+"' />
<img src='"+path+stat2+"' />
<img src='"+path+stat3+"' />
<img src='"+path+stat4+"' />
<img src='"+path+stat5+"' />
<img src='"+path+stat6+"' />
</div>
JQuery:
$('.hover_pop').hide();
$(document).on('hover','.lister1 img', function(){
$('.hover_pop').show(), function(){
$('.hover_pop').hide();
}
});
这将显示div,但遗憾的是不会隐藏它。
从jQuery 1.8开始,使用hover
事件和on
方法是不推荐的,您可以编码:
$(document).on({
mouseenter: function() {
$('.hover_pop').show()
},
mouseleave: function() {
$('.hover_pop').hide()
}
}, '.lister1 img');
试试这个
$(document).on('hover','.lister1 img', function(){
$('.hover_pop').show()}, function(){
$('.hover_pop').hide();
});
您已经关闭了末尾第一个函数的大括号
已编辑
$(document).on({
mouseover: function() {
$('.hover_pop').show()
},
mouseout: function() {
$('.hover_pop').hide()
}
}, '.lister1 img');
此处演示