Как вызвать клик при наведении курсора на элемент на x секунд, используя JQuery?

0

Я знаю, что этот вопрос задан и уже здесь ответил, но установка таймера работает с функцией hover().

Поскольку мой элемент динамически создается, он требует двух разных функций: один - в mouseenter, а другой - на mouseleave.

У кого-нибудь есть понимание этой конкретной потребности?

PS: Я знаю, что есть плагин с именем hoverIntent, но я не хочу использовать какой-либо плагин!

Теги:

2 ответа

5
Лучший ответ

Пытаться

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

Демо: скрипка

  • 1
    @ A.Wolff только что исправил
  • 0
    Арун, как обычно, спасибо! :)
0

Что-то вроде этого?

$('.myelement').on('mouseenter', function(e) {
  var element = $(this),
      ctx = null,
      timeout = 2000;

  ctx = setTimeout(function() {
     element.trigger('click');
     clearTimeout(ctx);
  }, timeout);
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню