hypermedia/
event_target_ext.rs

1use super::*;
2
3pub trait EventTargetExt {
4  fn add_event_listener<E: FromWasmAbi + 'static, F: FnMut(E) + 'static>(
5    &self,
6    event_type: &str,
7    callback: F,
8  );
9}
10
11impl<T: Deref<Target = EventTarget>> EventTargetExt for T {
12  fn add_event_listener<E: FromWasmAbi + 'static, F: FnMut(E) + 'static>(
13    &self,
14    event_type: &str,
15    callback: F,
16  ) {
17    let closure = Closure::new(callback);
18    self
19      .add_event_listener_with_callback(event_type, closure.as_ref().dyn_ref().unwrap())
20      .unwrap();
21    closure.forget();
22  }
23}