Disable mouseenter/mouseleave for touch devices
This commit is contained in:
		
							
								
								
									
										12
									
								
								index.js
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								index.js
									
									
									
									
									
								
							@@ -8,6 +8,8 @@ const attributeToOption = (attribute) => {
 | 
			
		||||
    return attribute.charAt(0).toLowerCase() + attribute.slice(1);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const isTouchDevice = () => 'ontouchstart' in window || navigator.maxTouchPoints > 0;
 | 
			
		||||
 | 
			
		||||
export const createTooltip = ($el, content, options) => {
 | 
			
		||||
    options = {
 | 
			
		||||
        animation: [
 | 
			
		||||
@@ -414,11 +416,13 @@ export const createTooltip = ($el, content, options) => {
 | 
			
		||||
        for (const trigger of options.trigger.split(' ')) {
 | 
			
		||||
            switch (trigger) {
 | 
			
		||||
                case 'mouseenter': {
 | 
			
		||||
                    $el.addEventListener('mouseenter', $el._tooltip.mouseEnterListener);
 | 
			
		||||
                    listeners.push({ el: $el, event: 'mouseenter', listener: $el._tooltip.mouseEnterListener });
 | 
			
		||||
                    if (!isTouchDevice()) {
 | 
			
		||||
                        $el.addEventListener('mouseenter', $el._tooltip.mouseEnterListener);
 | 
			
		||||
                        listeners.push({ el: $el, event: 'mouseenter', listener: $el._tooltip.mouseEnterListener });
 | 
			
		||||
 | 
			
		||||
                    $el.addEventListener('mouseleave', $el._tooltip.mouseLeaveListener);
 | 
			
		||||
                    listeners.push({ el: $el, event: 'mouseleave', listener: $el._tooltip.mouseLeaveListener });
 | 
			
		||||
                        $el.addEventListener('mouseleave', $el._tooltip.mouseLeaveListener);
 | 
			
		||||
                        listeners.push({ el: $el, event: 'mouseleave', listener: $el._tooltip.mouseLeaveListener });
 | 
			
		||||
                    }
 | 
			
		||||
                    break;
 | 
			
		||||
                }
 | 
			
		||||
                case 'click': {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user