Socket
Socket
Sign inDemoInstall

ivent

Package Overview
Dependencies
0
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    ivent

Helper functions for browser event listener


Version published
Weekly downloads
4
decreased by-73.33%
Maintainers
1
Created
Weekly downloads
 

Changelog

Source

[0.2.0] - Nov 28, 2023

  • added custom ready event support
  • added event switch from pointerenter to pointerover and pointerleave to pointerout when event delegation is used

Readme

Source

ivent

ivent.min.js

Helper functions for browser event listener

Table of Contents

Import ivent

Use one of the following examples to import script.

ESM

We provide a version of ivent built as ESM (ivent.esm.js and ivent.esm.min.js) which allows you to use ivent as a module in your browser, if your targeted browsers support it.

<script type="module">
  import { on, off } from "ivent.esm.min.js";
</script>

ESM CDN

<script type="module">
  import { on, off } from "https://cdn.jsdelivr.net/npm/ivent@0.1/+esm";
</script>

UMD

ivent may be also used in a traditional way by including script in HTML and using library by accessing window.ivent.

<script src="ivent.min.js"></script>

UMD CDN

<script src="https://cdn.jsdelivr.net/npm/ivent@0.1/dist/ivent.min.js"></script>

CJS (Bundlers like Webpack)

Install ivent as a Node.js module using npm

npm install ivent

Import ivent by adding this line to your app's entry point (usually index.js or app.js):

import { on, off } from 'ivent';

Methods

on

one

DOM event listener:

import { on } from 'ivent';

on(document, 'click', (e) => {
  console.log('clicked', e);
});

Event listener with delegated target:

import { on } from 'ivent';

on(document, 'click', '.custom-element-selector', (e) => {
  console.log('clicked', e);
});

Custom event listener with namespace:

import { on } from 'ivent';

on(document, 'the-custom-event.with-namespace', (e) => {
  console.log('clicked', e);
});

off

Remove DOM event listener:

import { on } from 'ivent';

on(document, 'click', (e) => {
  console.log('clicked', e);
});

off(document, 'click');

Remove DOM event listener by namespace:

import { on } from 'ivent';

on(document, 'click.my-namespace', (e) => {
  console.log('clicked', e);
});

off(document, '.my-namespace');

trigger

Trigger event:

import { trigger } from 'ivent';

trigger(document, 'click');

Custom Events

ready

Create ready event which work in the same way as DOMContentLoaded with additional check for dom loaded. For example, if dom is already loaded, the ready event callback will be fired immediately.

Example:

import { on } from 'ivent';

on(document, 'ready', (e) => {
  console.log('dom ready', e);
});

mouseenter

mouseleave

pointerenter

pointerleave

Create mouseenter / mouseleave events using mouseover / mouseout so that event delegation works properly. Do the same for pointerenter / pointerleave and pointerover / pointerout.

Example:

import { on } from 'ivent';

on(document, 'mouseenter', 'button', (e) => {
  console.log('button mouseenter event created using mouseover', e);
});

For Developers

Installation

  • Run npm install in the command line. Or if you need to update some dependencies, run npm update

Building

  • npm run build to run build

Linting

  • npm run js-lint to show eslint errors
  • npm run js-lint-fix to automatically fix some of the eslint errors

Keywords

FAQs

Last updated on 27 Nov 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc