diff --git a/src/core/elements_maybe_signal.rs b/src/core/elements_maybe_signal.rs index 63cbad6..6a086af 100644 --- a/src/core/elements_maybe_signal.rs +++ b/src/core/elements_maybe_signal.rs @@ -398,6 +398,8 @@ macro_rules! impl_from_strings_inner { let _ = sel; None } else { + use wasm_bindgen::JsCast; + if let Ok(node_list) = document().query_selector_all(sel) { let mut list = Vec::with_capacity(node_list.length() as usize); for i in 0..node_list.length() { diff --git a/src/utils/filters/debounce.rs b/src/utils/filters/debounce.rs index be108ea..9e5bc86 100644 --- a/src/utils/filters/debounce.rs +++ b/src/utils/filters/debounce.rs @@ -34,8 +34,12 @@ where } }; - on_cleanup(move || { - clear_timeout(&timer); + on_cleanup({ + let timer = Rc::clone(&timer); + + move || { + clear_timeout(&timer); + } }); let ms = ms.into();