gpt4 book ai didi

javascript - 如果已经过了 x 时间,如何激活 mouseleave?

转载 作者:行者123 更新时间:2023-11-28 11:17:52 24 4
gpt4 key购买 nike

所以,我遇到了这种情况,但我只想在用户“mouseleave(s)”超过 x 时间(比如一秒钟)时“做某事”。我应该如何实现?

$("#someElement, #someOtherElement").mouseleave(function() {
// Do something.
});

后来我补充道:

    $('.popover3-test').popover({
placement:'bottom',
template: $('.popover2'),
trigger: 'manual',

}).mouseenter(function(e) {
$(this).popover('show');

$(".popover3-test, .popover2").each(function() {
var t = null;

$(this)
.mouseleave(function() {
t = setTimeout(function() {
$('.popover2').hide();
}, 1000); // Or however many milliseconds
})
.mouseenter(function() {
if(t !== null)
clearTimeout(t);
})
;
});


});

最佳答案

setTimeout 应该可以解决问题:

$("#someElement, #someOtherElement").each(function() {
var t = null;

$(this)
.mouseleave(function() {
t = setTimeout(function() {
// Do something.
}, 1000); // Or however many milliseconds
})
.mouseenter(function() {
if(t !== null) {
clearTimeout(t);
t = null;
}
})
;
});

编辑:如果您希望它适用于其中任何一个,只需删除.each:

var t = null;

$("#someElement, #someOtherElement")
.mouseleave(function() {
t = setTimeout(function() {
// Do something.
}, 1000); // Or however many milliseconds
})
.mouseenter(function() {
if(t !== null) {
clearTimeout(t);
t = null;
}
})
;

关于javascript - 如果已经过了 x 时间,如何激活 mouseleave?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11319976/

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