Module webio::event

source ·
Available on crate feature event only.
Expand description

Module for listening and handling JS events from Rust.

Examples

On Click

use webio::event::EventType;
use webio::event::Click;

let document =
    web_sys::window().expect("only browser supported").document().unwrap();

let element = document.create_element("button").unwrap();
document.body().unwrap().append_child(&element).unwrap();
let mut count = 0;
let listener = Click.add_listener(&element);
element.dispatch_event(&web_sys::MouseEvent::new("click").unwrap()).unwrap();
listener.listen_next().await.unwrap();
element.dispatch_event(&web_sys::MouseEvent::new("click").unwrap()).unwrap();
listener.listen_next().await.unwrap();
element.dispatch_event(&web_sys::MouseEvent::new("click").unwrap()).unwrap();
listener.listen_next().await.unwrap();

document.remove_child(&element).unwrap();

Structs

  • Safe wrapper for adding event listeners for events of type “blur”.
  • Safe wrapper for adding event listeners for events of type “click”.
  • Safe wrapper for adding event listeners for events of type “drag”.
  • Safe wrapper for adding event listeners for events of type “drop”.
  • Safe wrapper for adding event listeners for events of type “dragend”.
  • Safe wrapper for adding event listeners for events of type “dragenter”.
  • Safe wrapper for adding event listeners for events of type “dragleave”.
  • Safe wrapper for adding event listeners for events of type “dragover”.
  • Safe wrapper for adding event listeners for events of type “dragstart”.
  • Safe wrapper for adding event listeners for events of type “focus”.
  • Safe wrapper for adding event listeners for events of type “focusin”.
  • Safe wrapper for adding event listeners for events of type “focusout”.
  • Safe wrapper for adding event listeners for events of type “keydown”.
  • Safe wrapper for adding event listeners for events of type “keyup”.
  • A single interval tick that can be awaited.
  • A listener: listens to event occurences. Created by one of add_listener_raw, add_listener_with_sync_cb_raw, add_listener_with_async_cb_raw, EventType::add_listener, [`EventType::add
  • Safe wrapper for adding event listeners for events of type “mousedown”.
  • Safe wrapper for adding event listeners for events of type “mouseenter”.
  • Safe wrapper for adding event listeners for events of type “mouseleave”.
  • Safe wrapper for adding event listeners for events of type “mousemove”.
  • Safe wrapper for adding event listeners for events of type “mouseout”.
  • Safe wrapper for adding event listeners for events of type “mouseover”.
  • Safe wrapper for adding event listeners for events of type “mouseup”.
  • Safe wrapper for adding event listeners for events of type “touchcancel”.
  • Safe wrapper for adding event listeners for events of type “touchend”.
  • Safe wrapper for adding event listeners for events of type “touchmove”.
  • Safe wrapper for adding event listeners for events of type “touchstart”.
  • Safe wrapper for adding event listeners for events of type “resize”.

Traits

  • Trait for safe wrappers over JS event types and JS event listening.

Functions

  • Raw function for adding event listeners to JS’s event targets. This function is asynchronous and a future is returned.
  • Raw function for adding event listeners to JS’s event targets, using asynchronous event listeners. This function is asynchronous and a future is returned.
  • Raw function for adding event listeners to JS’s event targets, using synchronous event listeners. However, this function is asynchronous and a future is returned.