Skip to content

useClickOutSide

一个用于监听点击外部元素的hooks。

基础实用

tsx
import { useRef } from 'react'
import { useClickOutSide } from 'ono-react-element'

function App() {
    const btnRef = useRef<HTMLButtonElement>(null)

    useClickOutSide(btnRef, () => {
        window.alert('点击外部')
    })

    <div>
        <button ref={btnRef} onClick={() => {
            window.alert('点击我')
        }}>点击我</button>
        <button>点击外部</button>
    </div>
}

API

通用属性参考:通用属性

参数说明类型默认值是否必填
outsideElement你想要监听的元素RefObject<HTMLElement | null>|HTMLElement|(RefObject<HTMLElement | null> | HTMLElement)[]|null-
handler事件触发时执行的回调函数(e:Event) => void-
options监听参数OutsideOptions-

ClickEventTypes

  • click
  • contextmenu
  • mousedown
  • mouseup
  • mousemove
  • touchstart
  • touchend

OutsideOptions

参数说明类型默认值是否必填
event你想要监听的事件类型ClickEventTypes|ClickEventTypes[]-
deps依赖项,当依赖项发生变化时,会重新绑定事件监听any[][]