微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery有一个handleout为.delegate(‘hover’)?

我试图使用:
$('mydiv').delegate('hover',function() {  
    $('seconddiv').show();  
},function() {  
    //For some reason jQuery won't run this line of code  
    $('seconddiv').hide();  
});

解决方法

User113716的伟大的答案将不再工作在jQuery 1.9,因为伪事件悬停不再支持( upgrade guide)。

也因为jQuery 1.7,建议使用新的on()(docs)所有事件绑定目的(反正委托()仍然做的工作)。

您可以通过使用mouseenter mouseleave替换hover来轻松迁移user113716的解决方案:

$('mydiv').delegate('seconddiv','mouseenter mouseleave',function(event) {
    $(this).toggle( event.type === 'mouseenter' );  
});

使用on():

$('mydiv').on('mouseenter mouseleave','seconddiv',function(event) {
    $(this).toggle( event.type === 'mouseenter' );  
});

如果你的问题比一个简单的切换更复杂,我建议绑定两个单独的事件:

$('mydiv').on('mouseenter',function( event ) {
    // do something
}).on('mouseleave',function( event ) {
    // do something different
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐