Skip to main content

Triggers

Triggers define when and how client-side events are sent to your WSX server. They provide sophisticated control over event timing, conditions, and behavior.

Basic Triggers

Default Triggers

Without specifying wx-trigger, elements use default triggers:

Explicit Triggers

Specify triggers using the wx-trigger attribute:

Trigger Events

Common Events

  • click - Mouse clicks
  • submit - Form submissions
  • input - Input value changes
  • change - Input value changes (on blur)
  • keyup - Key release events
  • keydown - Key press events
  • mouseenter - Mouse enters element
  • mouseleave - Mouse leaves element
  • focus - Element gains focus
  • blur - Element loses focus

Examples

Trigger Modifiers

Throttling

Limit the frequency of requests:

Debouncing (Queue)

Delay requests until activity stops:

Delays

Add delays before sending requests:

Conditional Triggers

Key Conditions

Trigger only on specific keys:

Change Detection

Only trigger when values actually change:

Once Modifier

Trigger only once:

Multiple Triggers

Combining Triggers

Use multiple events for the same action:

Different Actions

Different triggers for different actions:

Advanced Trigger Patterns

Conditional Logic

Form Validation

Progressive Enhancement

Trigger Timing

Immediate Triggers

Delayed Triggers

Throttled Triggers

Debounced Triggers

Real-World Examples

Auto-Save Form

Keyboard Shortcuts

Progressive Loading

Custom Triggers

JavaScript Events

Programmatic Triggers

Best Practices

  1. Choose Appropriate Events: Use the right trigger for the user interaction
  2. Throttle Heavy Operations: Use throttling for expensive operations like search
  3. Debounce User Input: Use queue for final input validation
  4. Provide Feedback: Show loading states for delayed actions
  5. Consider Accessibility: Ensure triggers work with keyboard navigation
  6. Progressive Enhancement: Provide fallbacks for critical functionality

Next Steps