npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

click-anywhere

v0.1.2

Published

ClickOutside directive/component for Vue

Downloads

12

Readme

click-anywhere

logo

中文

Install

npm install click-anywhere

Usage

The library also provides vue2/3 directives vue2.7/3 components and react component for selection.

VanillaJS/Native JS

<div id="app">This is app</div>

<div class="ignore">This is ignore area</div>

<script type="module">
import { createHandler, removed } from 'click-anywhere'

const el = document.getElementById('app')

createHandler(console.log, {
  once: true,
  ignores: ['ignore'],
  disabled: false
})

// remove handler
removed(el)
</script>

Vue Component

TIP: Currently, only vue3 vue2.7 and react are supported. vue2.6 and below are not supported.

<template>
  <click-anywhere @trigger="clickAnywhere">Click anywhere</click-anywhere>
</template>

<script setup>
import ClickAnywhere from 'click-anywhere/dist/vue'
</script>

React Component

import ClickAnywhere from 'click-anywhere/dist/react'

function App () {
  return (
    <ClickAnywhere
      once
      ignores={['ignore']}
      disabled={false}
      trigger={console.log}
    >
      Click anywhere
    </ClickAnywhere>
  )
}

Directive

The directive are common to vue2/vue3.

<template>
  <div v-click-anywhere="clickAnywhere">Click anywhere</div>

  <!--
    This directive has an optional modifier once.
    See below for a full explanation, It has a lower priority than options.once
  -->
  <div v-click-anywhere.once="clickAnywhere">Click anywhere</div>
</template>

<script setup>
import vClickAnywhere from 'click-anywhere/dist/directive'

function clickAnywhere () {
  console.log('click anywhere')
}

// use options
const directiveHandler = [
  console.log,
  {
    // The event registered by this directive is executed only once
    once: true,
    // Element whitelist, the event registered by this directive will not be
    // triggered when the event is triggered on the element in the whitelist
    ignores: []
  }
]
</script>

Attributes

| Attribute | Description | Type | Default | | --- | --- | --- | --- | | once | The event registered by this component is executed only once | Boolean | false | | ignores | Element whitelist, the event registered by this component will not be triggered when the event is triggered on the element in the whitelist | string[] | [] | | disabled | Whether to disable the event registered by this component(Events are not executed until disabled becomes false) | Boolean | false |

Events

| Event | Description | Parameters | | --- | --- | --- | | trigger | Triggered when the event is triggered | PointerEvent | MouseEvent |