У меня есть эта проблема.Я определил функцию для удаления ссылки (просто для примера), поэтому я хочу, чтобы после события mouseleave на ссылку она исчезла через 5 секунд (или что-то еще).Кроме того, если я наведу указатель мыши на ту же ссылку (на которой якобы запущен setTimeout), этот setTimeout отменяется.Например, следующий код работает, но так как я не определяю свой setTimeout, я не могу отменить его.
function func() { $('a').remove(); }
//var interval = setTimeout( func , 5000);
$('body').on('mouseleave', 'a', function() {
setTimeout( func , 5000);
});
$('body').on('mouseenter', 'a', function(){
// clearTimeout(interval)
});
Вместо этого, раскомментируя вторую строку, ссылка немедленно исчезает, даже если я 'используя функцию func
без скобок, поэтому я подумал бы, что это не будет проблемой ( fiddle ):
function func() { $('a').remove(); }
var interval = setTimeout( func , 5000);
$('body').on('mouseleave', 'a', function() {
interval
});
$('body').on('mouseenter', 'a', function(){
// clearTimeout(interval)
});
Что я могу сделать, чтобы достичь намеченной функциональности?.
Спасибо!