Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Events

Handle user interactions with the on: namespace in MBX.

Basic Handlers

<button on:click={fn(ev) {
  println("Button clicked!")
}}>
  "Click me"
</button>

Reading Input Values

Use event helpers to read form data:

let (value, set_value) = @reactive.create_signal("")

<input
  value={value}
  on:input={fn(ev) {
    set_value.set(@ffi.event_target_value(ev))
  }}
/>

Event Types

MBX EventFires On
on:clickElement clicked
on:inputInput value changed
on:changeSelection changed
on:submitForm submitted
on:keydownKey pressed down
on:keyupKey released

Window Events

Subscribe to window events with cleanup handled automatically:

@reactive.create_effect(fn(_) {
  let cleanup = @dom.on_window_event("resize", fn(ev) {
    ...
  })
  @reactive.on_cleanup(cleanup)
})

Preventing Default

Call event_prevent_default in your handler:

<form on:submit={fn(ev) {
  @ffi.event_prevent_default(ev)
  ...
}}>