Как уничтожить всплывающую подсказку после того, как она снова спряталась? - PullRequest
0 голосов
/ 03 мая 2020

У меня есть всплывающая подсказка, которая первоначально запускается триггером jQuery click. Я хочу, чтобы тип снова был уничтожен, как только он исчезнет. Таким образом, я создал экземпляр, чтобы уничтожить его соответственно. Однако, как только исчезает подсказка, я получаю следующую ошибку:

// html

<input type="number" id="formInputFloatingBalance" class="formInputTopRow initialInformation">
// Javascript

// create new tippy upon pageload

new tippy(".initialInformation", {
    content: "Foo Bar",
    trigger: 'click',
    duration: [100, 0],
    delay: [4000, 300],
});

// Create new instance

const initialTippy = tippy(document.querySelector('.initialInformation'));

// Show up tippy upon pageload by pseudo click

$( ".initialInformation" ).trigger( "click" );

Лог c заключается в том, что подсказка всплывает через 4 секунды после загрузки страницы в виде информационного поля рядом с полем ввода и исчезает + уничтожается, когда пользователь фокусирует это поле ввода.

Для этого я попытался сделать следующее:

// javascript

$( "#formInputFloatingBalance" ).focus(function () {
    console.log('fired')
    console.log(initialTippy)
    initialTippy.destroy();
})

Какие выходные данные:

enter image description here

Теперь проблема в том, что подсказка снова появляется после определенного свойства delay, как только пользователь снова фокусирует поле ввода. Почему это так и почему он возвращает isDestroyed даже до того, как экземпляр будет уничтожен в соответствии с показанной отладкой? Как оно может появиться снова, если оно уничтожено ранее?

...