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

pikantny

v1.5.47

Published

Heavily extends the ability of event listeners to allow for listening to any and all property changes, dom changes, style changes, and method calls

Downloads

23

Readme

Pikantny

Extiende la escucha de eventos DOM para incluir atributos, propiedades y estilos

NPM version Gitter

English - Español - Polski - Pусский - 中文

Lista de contenidos

¿Qué es?

Esta biblioteca permite usar oyentes de eventos en forma de eventos estándar para monitorizar los cambios de cualquier cosa que suceda en el DOM, desde escuchar cambios de html a cuando un estilo se establece o incluso cuando un valor en una entrada cambia.

Instalación

Esta biblioteca se puede instalar usando:

  • NPM : npm install pikantny --save
  • Bower : bower install pikantny --save
  • Yarn : yarn add pikantny

Como usarlo

El script se puede cargar tanto en la cabecera como en el cuerpo. Toda la funcionalidad se carga automáticamente tan pronto como se carga el archivo.

  • Nota: incluya este script antes que cualquier otro script para una implementación adecuada *
 <script src="/(node_modules|bower_modules)/pikantny/pikantny.min.js"></script>

Comenzar a usarlo es tan simple como usar su método de escucha estándar

Nativo

 var node = document.querySelector('selector')
 node.addEventListener('innerHTML', console.log);

jQuery

 $('selector').on('innerHTML', console.log);

Cuando se escuchan eventos de propiedad, hay dos tipos diferentes de oyentes de eventos, eventos de actualización previos a DOM y de actualización posterior a DOM. Simplemente agregando update al final de cualquier oyente de evento, el evento se activará después de la actualización de DOM

 node.addEventListener('innerHTMLupdate', console.log);

Atributos

Se pueden agregar oyentes de eventos de atributos para detectar cualquier cambio en cualquier atributo

 node.addEventListener('id', console.log);
 node.setAttribute('id','your-id');
 // or 
 node.id = 'your-id';

Propiedades

Las propiedades de un elemento también permiten escuchar cualquier cambio.

 node.addEventListener('textContent', console.log);
 node.textContent = 'new-text';

Métodos

Cualquier método de elementos permite escuchar su ejecución.

 node.addEventListener('appendChild', console.log);
 node.appendChild(input);

Estilos

Los estilos asociados con el objeto de estilos o el atributo de estilos también permiten escuchar cualquier cambio, cada oyente respectivo se activará si se establecen múltiples en el atributo de estilo

 node.addEventListener('color', console.log);
 node.style.color = '#000';
 // or
 node.setAttribute('style','color:#000;');

Entradas

Los cambios en el valor de entrada también permiten escuchar cualquier cambio y son compatibles con IME

 input.addEventListener('value', console.log);

Objeto de evento

El objeto de evento que se pasa a cada uno de estos eventos activados permite una funcionalidad similar a la de un detector de eventos DOM estándar

event.preventDefault()

Cuando se llama desde un evento de actualización previo al DOM, este método se puede usar para evitar que el DOM se actualice

 // innerHTML, textContent, appendChild, etc
 node.addEventListener('html', function(e){ e.preventDefault(); });
 
 // input
 input.addEventListener('value', function(e){ e.preventDefault(); });

event.stop()

Cuando se llama desde un evento de actualización previo a DOM, este método se puede usar para detener la activación de los eventos de actualización posterior a DOM

 node.addEventListener('innerHTML', function(e){ e.stop(); });
 
 // this will not fire
 node.addEventListener('innerHTMLupdate', console.log);

event.stopPropogation()

Cuando se llama, no hay mas oyentes de eventos en la fase bubbling después de que el actual se dispare

event.stopImmediatePropogation()

Cuando se llama no hay oyentes de eventos después del actual se disparará

event.action

Esta propiedad muestra el valor de retorno de una función ejecutada cuando se analiza en un evento de actualización posterior a DOM

event.value

Muestra el valor que se está configurando.

event.oldValue

Muestra el valor anterior del elemento que se está configurando.

Todas las demás propiedades de eventos siguen la misma guía que un objeto de evento estándar

Ejemplos

Cambios de elementos

No permitas que un elemento tenga cambios en html

 var node = document.querySelector('selector');
 node.addEventListener('html',function(e){e.preventDefault();});

Validación

Valide las entradas para ver si se permite un valor dado. Puede usar return false; o event.preventDefault(); para detener la actualización de la entrada

 var input = document.querySelector('selector');
 input.addEventListener('value',function(e){ return /^[0-9A-Za-z]+$/.test(e.value); });

Depuración

Esta biblioteca es compatible con el panel de eventos de la consola dev, todos los eventos agregados se mostrarán en este panel.

Como contribuir

Si quieres contribuir aquí están los pasos.

  1. Clon Repo: Pikantny Github Repo
  2. Instale las dependencias de desarrollo necesarias
  3. construir el proyecto npm run build
  4. Pon a prueba tus cambios, no rompas nada. npm test
  5. Haga una solicitud de sus cambios :)

Licencia

Puedes ver la licencia aquí: License