1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
use wasm_bindgen::JsCast; use web_sys::*; pub fn get_event_target_by_id(id: &str) -> EventTarget { let document = window().document().expect("no `window.document` exists"); let canvas = document .get_element_by_id(id) .expect(&format!("no `{}` event target in document", id)); canvas.dyn_into::<EventTarget>().map_err(|_| ()).unwrap() } pub fn get_event_target_document() -> EventTarget { let document = window().document().expect("no `window.document` exists"); document.dyn_into::<EventTarget>().map_err(|_| ()).unwrap() } fn window() -> web_sys::Window { web_sys::window().expect("no global `window` exists") }