Skip to content

Latest commit

 

History

History
88 lines (60 loc) · 1.56 KB

use-hover.md

File metadata and controls

88 lines (60 loc) · 1.56 KB

useHover

Adds 2 new behaviors to your Stimulus controller : mouseEnter and mouseLeave.

Reference

useHover(controller, options = {})

controller : a Stimulus Controller (usually 'this')

options :

Option Description       Default value      
element The element which the controller will listen for hover on The controller element

Usage

Composing

import { Controller } from '@hotwired/stimulus'
import { useHover } from 'stimulus-use'

export default class extends Controller {

  connect() {
    useHover(this, { element: this.element });
  }

  mouseEnter() {
    // ...
  }

  mouseLeave() {
    // ...
  }
}

Extending a controller

import { HoverController } from 'stimulus-use'

export default class extends HoverController {

  mouseEnter() {
    // ...
  }

  mouseLeave() {
    // ...
  }
}

Callbacks

This module adds two new callbacks mouseEnter and mouseLeave that you may use to triggers stimulus actions

For example to add an 'active' class when the user moves the mouse over an element:

import { Controller } from '@hotwired/stimulus'
import { useHover } from 'stimulus-use'

export default class extends Controller {
  
  connect() {
    useHover(this, { element: this.element });
  }
  
  mouseEnter() {
    // ...
    this.element.classList.add('active')
  }

  mouseLeave() {
    // ...
    this.element.classList.remove('active')
  }
}