Я хочу создать привязку к событию, только если произошло другое событие, во-первых, если пользователь наведет курсор на элемент, добавьте класс, чтобы отображалось его состояние наведения, если пользователь не щелкает внутри него, просто действуйте как простой :hover
, если пользователь щелкнул внутри всплывающей подсказки, не заставляйте всплывающую подсказку исчезать, но если пользователь после первого щелчка щелкнул за пределами подсказки, заставьте всплывающую подсказку исчезнуть:
jQuery('.helper-tooltip').on('mouseenter', function() {
let current_element = jQuery(this);
current_element.addClass('open');
});
jQuery('.helper-tooltip').on('mouseleave', function() {
let current_element = jQuery(this);
current_element.removeClass('open');
});
jQuery('.tooltip-hidden-video-container').on('click', function() {
this.innerHTML = '';
jQuery('.helper-tooltip').off('mouseleave');
jQuery('body').on('click', function(event) {
//I'd like to go back on .helper-tooltip and remove the 'open' class if the user has clicked outside of it.
});
});
Но вот интересная часть. Если бы на моем третьем 'on('click')
было выбрано любое событие, которое можно легко повторить, скажем, при наведении курсора mouseenter
, , оно выполняло бы логику столько раз, сколько я его удерживал.
Как я могу рассматривать эти привязки событий как логику, чтобы мой код работал согласно моим требованиям? Это даже хорошо?