gpt4 book ai didi

jquery - jQuery 是否有 .delegate ('hover' 的句柄?

转载 作者:行者123 更新时间:2023-12-03 21:29:38 26 4
gpt4 key购买 nike

我正在尝试使用:

$('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 )。

此外,由于用于绑定(bind)事件的 jQuery 3.0 delegate() 已正式弃用,因此请使用 on()(docs)用于所有事件绑定(bind)目的。

您可以轻松迁移 user113716 的解决方案,只需将 hover 替换为 mouseenter mouseleave 并切换到 on()语法:

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

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

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

注意:由于 hover 在 v1.9 中被删除,并且 on() 在 v1.7 中引入,因此没有真正的需要使用 delegate() 的解决方案 - 但如果您出于某种原因喜欢它;它仍然在那里(目前)并完成工作:

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

关于jquery - jQuery 是否有 .delegate ('hover' 的句柄?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4772287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com