Allow multiple prevent default for Web, Desktop and LiveView (#987)
* Allow multiple prevent default in dioxus_web * Use SplitWhitespace for prevent default requests * Add multiple prevent default option to liveview and desktop * Update docs about prevent_default attribute * cargo clippy * update prevent default guide example --------- Co-authored-by: Evan Almloff <ealmlof1@stumail.jccc.edu>
This commit is contained in:
1 parent
c904411190
commit
c645e1c6aa
4 files changed
+21
-14
No files matched your search
@@ -55,13 +55,17 @@ impl WebsysDom {
|
||||
let element = walk_event_for_id(event);
|
||||
let bubbles = dioxus_html::event_bubbles(name.as_str());
|
||||
if let Some((element, target)) = element {
|
||||
if target
|
||||
if let Some(prevent_requests) = target
|
||||
.get_attribute("dioxus-prevent-default")
|
||||
.as_deref()
|
||||
.map(|f| f.trim_start_matches("on"))
|
||||
== Some(&name)
|
||||
.map(|f| f.split_whitespace())
|
||||
{
|
||||
event.prevent_default();
|
||||
if prevent_requests
|
||||
.map(|f| f.trim_start_matches("on"))
|
||||
.any(|f| f == name)
|
||||
{
|
||||
event.prevent_default();
|
||||
}
|
||||
}
|
||||
|
||||
let data = virtual_event_from_websys_event(event.clone(), target);
|
||||
|
||||
Reference in new issue
Block a user