VSN.js VSN.js
Docs Examples npm GitHub
Get started
Docs
Start Here
What is VSN Quick Start First Behavior
Essentials
Installation Behaviors & Selectors State & Scope Bindings Events Lifecycle Queries
Directives (Attributes)
vsn-bind vsn-on:* vsn-if vsn-show vsn-html vsn-get / vsn-target / vsn-swap vsn-each
CFS Language
Syntax reference Expressions Functions Destructure/spread Pipes (|>) Template literals
Modifiers & Flags
!important !debounce Event Modifiers
Runtime & Scope
Scope chain rules Root scope behavior State merge/specificity Error Handling
Integrations
SSR patterns htmx-style partials Build/bundler usage (ESM/CJS)
Plugins
sanitize-html microdata
Advanced
Performance & Caching Security & Sanitization Extending Debugging & Diagnostics
Reference
Full grammar CLI/API Browser support

vsn-on:*

Use vsn-on:* to attach an event handler directly on an element.

Basic usage

<button vsn-on:click="count += 1;"></button>

Modifiers

<a href="/docs" vsn-on:click.prevent="open = true;"></a>

Supported modifiers include prevent, stop, once, passive, outside, and key modifiers.

Key modifiers

<input vsn-on:keyup.enter="submit();" />

Related

  • Events
  • Event Modifiers
On this page Basic usage Modifiers Key modifiers Related
Previous vsn-bind Next vsn-if
VSN.js - Powered by pure vibes. © 2026 vsnjs.org