2012-08-09 191 views
0

我试图让我的功能没有成功。我所需要的是能够滚动到我的div和X显示,然后我可以添加我想要的效果。Mouseenter Hover Div显示/隐藏

我使用JavaScript,因为我需要它跨浏览器兼容。我不想使用CSS,因为它在未来我想添加的内容非常有限。

<script> 
$(document).ready(function() { 
$('div.userinfo').hover({ 
    mouseenter: function() { 
     $(this).children('div.delete').show(); 
    }, 
    mouseleave: function() { 
     $(this).children('div.delete').hide(); 

    } 
    }); 
    }); 
</script> 
    <? 
echo "<div class='userinfo'><div class='delete' style='cursor:pointer;position:relative;top:0px;float:right;padding-right:5px;' onclick=\"delete_('".$streamitem_data['streamitem_id']."');\">X</div></div>" 

回答

2

使用bind()方法,而不是悬停:

$(document).ready(function() { 
    $('div.userinfo').bind({ 
    mouseenter: function() { 
     $(this).children('div.delete').show(); 
    }, 
    mouseleave: function() { 
     $(this).children('div.delete').hide(); 
    } 
    }); 
}); 

注:如果您在以后使用jQuery添加新的DOM元素,用live()on(),如果你不是,使用绑定方法这是非常可靠的方法。根据萤火类型错误

+0

它已经奏效。非常感谢。将接受作为答复和upvote。 – dave 2012-08-09 10:51:57

+1

我很高兴,我可以帮忙。 – 2012-08-09 11:31:39

2

相反.hover(),像你尝试使用它,其已被废弃,不工作的,使用。对():

$(function() { 
    $('div.userinfo').on({ 
     mouseenter: function() { 
      $(this).children('div.delete').show(); 
     }, 
     mouseleave: function() { 
      $(this).children('div.delete').hide(); 

     } 
    }); 
}); 

这将做的工作。

+0

:$(“div.userinfo”)上不是一个函数 我想这是你使用的是哪个的jQuery VERSON前.hover – dave 2012-08-09 10:47:30

+1

? 而不是,如其他答案所示,您可以使用.bind,它也适用于旧版本的jQuery,但可能会在将来被弃用 – DerWaldschrat 2012-08-09 10:52:02

+0

我使用jquery-1.7.2.min.js – dave 2012-08-09 10:52:54