mirror of
https://github.com/jaandrle/deka-dom-el
synced 2025-07-01 12:22:15 +02:00
✏️ docs (🔨 examples, 🚧 events)
This commit is contained in:
13
docs_src/components/examples/events/abortSignal.js
Normal file
13
docs_src/components/examples/events/abortSignal.js
Normal file
@ -0,0 +1,13 @@
|
||||
import { el, on } from "deka-dom-el";
|
||||
const log= mark=> console.log.bind(console, mark);
|
||||
|
||||
const abort_controller= new AbortController();
|
||||
const { signal }= abort_controller;
|
||||
|
||||
const button= el("button", "Test click");
|
||||
button.addEventListener("click", log("`addEventListener`"), { signal });
|
||||
on("click", log("`on`"), { signal })(button);
|
||||
|
||||
document.body.append(
|
||||
button, " ", el("button", { textContent: "Off", onclick: ()=> abort_controller.abort() })
|
||||
);
|
10
docs_src/components/examples/events/compare.js
Normal file
10
docs_src/components/examples/events/compare.js
Normal file
@ -0,0 +1,10 @@
|
||||
import { el, on } from "deka-dom-el";
|
||||
const log= mark=> console.log.bind(console, mark);
|
||||
|
||||
const button= el("button", "Test click");
|
||||
button.addEventListener("click", log("`addEventListener`"), { once: true });
|
||||
on("click", log("`on`"), { once: true })(button);
|
||||
|
||||
document.body.append(
|
||||
button
|
||||
);
|
24
docs_src/components/examples/events/templateWithListeners.js
Normal file
24
docs_src/components/examples/events/templateWithListeners.js
Normal file
@ -0,0 +1,24 @@
|
||||
import { el, on } from "deka-dom-el";
|
||||
const abort_controller= new AbortController();
|
||||
const { signal }= abort_controller;
|
||||
/** @type {ddeElementModifier<HTMLButtonElement>} */
|
||||
const onclickOff= on("click", ()=> abort_controller.abort(), { signal });
|
||||
/** @type {(ref?: HTMLOutputElement)=> HTMLOutputElement | null} */
|
||||
const ref= (store=> ref=> ref ? (store= ref) : store)(null);
|
||||
|
||||
document.body.append(
|
||||
el("button", "Test `on`",
|
||||
on("click", console.log, { signal }),
|
||||
on("click", update, { signal }),
|
||||
on("mouseup", update, { signal })),
|
||||
" ",
|
||||
el("button", "Off", onclickOff),
|
||||
el("output", { style: { display: "block", whiteSpace: "pre" } }, ref)
|
||||
);
|
||||
/** @param {MouseEvent} event @this {HTMLButtonElement} */
|
||||
function update(event){
|
||||
ref().append(
|
||||
event.type,
|
||||
"\n"
|
||||
);
|
||||
}
|
Reference in New Issue
Block a user