hypermedia/
event_target_ext.rs1use 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}