Регистрируем сообытия mouseenter/mouseleave на тач-устройствах
This commit is contained in:
12
index.js
12
index.js
@@ -8,8 +8,6 @@ const attributeToOption = (attribute) => {
|
|||||||
return attribute.charAt(0).toLowerCase() + attribute.slice(1);
|
return attribute.charAt(0).toLowerCase() + attribute.slice(1);
|
||||||
};
|
};
|
||||||
|
|
||||||
const isTouchDevice = () => 'ontouchstart' in window || navigator.maxTouchPoints > 0;
|
|
||||||
|
|
||||||
let visibilityListenerRegistered = false;
|
let visibilityListenerRegistered = false;
|
||||||
const handleVisibilityChange = () => {
|
const handleVisibilityChange = () => {
|
||||||
if (document.hidden) {
|
if (document.hidden) {
|
||||||
@@ -434,13 +432,11 @@ export const createTooltip = ($el, content, options) => {
|
|||||||
for (const trigger of options.trigger.split(' ')) {
|
for (const trigger of options.trigger.split(' ')) {
|
||||||
switch (trigger) {
|
switch (trigger) {
|
||||||
case 'mouseenter': {
|
case 'mouseenter': {
|
||||||
if (!isTouchDevice()) {
|
$el.addEventListener('mouseenter', $el._tooltip.mouseEnterListener);
|
||||||
$el.addEventListener('mouseenter', $el._tooltip.mouseEnterListener);
|
listeners.push({ el: $el, event: 'mouseenter', listener: $el._tooltip.mouseEnterListener });
|
||||||
listeners.push({ el: $el, event: 'mouseenter', listener: $el._tooltip.mouseEnterListener });
|
|
||||||
|
|
||||||
$el.addEventListener('mouseleave', $el._tooltip.mouseLeaveListener);
|
$el.addEventListener('mouseleave', $el._tooltip.mouseLeaveListener);
|
||||||
listeners.push({ el: $el, event: 'mouseleave', listener: $el._tooltip.mouseLeaveListener });
|
listeners.push({ el: $el, event: 'mouseleave', listener: $el._tooltip.mouseLeaveListener });
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'click': {
|
case 'click': {
|
||||||
|
|||||||
Reference in New Issue
Block a user