我试图使用:
$('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 举报,一经查实,本站将立刻删除。