button/
button.rs

1use jsbind::prelude::*;
2use webbind::*;
3
4fn main() {
5    let con = Console::get();
6    let document = window().document();
7    let bodies = document.get_elements_by_tag_name(&"body".into());
8    if bodies.length() == 0 {
9        con.log(&["I Ain't got Nobody!".into()]);
10        return;
11    }
12    let body = bodies.item(0);
13    let mut button = document
14        .create_element(&"BUTTON".into())
15        .dyn_into::<HTMLButtonElement>()
16        .unwrap();
17
18    let style = button.style();
19    style.set_property(&"color".into(), &"red".into());
20    style.set_property(&"background-color".into(), &"#aaf".into());
21    style.set_property(&"border".into(), &"solid".into());
22
23    button.set_text_content(&"Click me".into());
24    button.add_event_listener(
25        &"click".into(),
26        &EventListener::from_closure(move |e: Event| {
27            let p = e.dyn_into::<PointerEvent>().unwrap();
28            con.log(&[p.client_x().into()]);
29            Undefined::VALUE
30        }),
31    );
32    body.append_child(button.dyn_ref::<Node>().unwrap());
33}