Я знаю, что этот вопрос задан и уже здесь ответил, но установка таймера работает с функцией hover().
Поскольку мой элемент динамически создается, он требует двух разных функций: один - в mouseenter, а другой - на mouseleave.
У кого-нибудь есть понимание этой конкретной потребности?
PS: Я знаю, что есть плагин с именем hoverIntent, но я не хочу использовать какой-либо плагин!
Пытаться
$(document).on({
mouseenter: function () {
var $this = $(this);
var timer = setTimeout(function () {
$this.click();
}, 2000)
$this.data('clicktimer', timer)
},
mouseleave: function () {
clearTimeout($(this).data('clicktimer'))
}
}, '#test');
Демо: скрипка
Что-то вроде этого?
$('.myelement').on('mouseenter', function(e) {
var element = $(this),
ctx = null,
timeout = 2000;
ctx = setTimeout(function() {
element.trigger('click');
clearTimeout(ctx);
}, timeout);
});