all events

This commit is contained in:
Jorijn van der Graaf 2025-11-09 22:56:29 +01:00
commit a9667d38fd
7 changed files with 1061 additions and 5 deletions

View file

@ -0,0 +1,77 @@
import Crafter.CppDOM;
using namespace Crafter;
HtmlElement* body = new HtmlElement("body", "<div id='container'><button id='myButton'>Click Me!</button><input type='text' id='textInput' placeholder='Type something'><div id='output'></div></div>");
HtmlElement* button = new HtmlElement("myButton");
HtmlElement* input = new HtmlElement("textInput");
HtmlElement* output = new HtmlElement("output");
int main(){
// Click event
button->AddClickListener([&]() {
output->SetInnerHTML("Button was clicked!");
});
// Mouse events
button->AddMouseOverListener([&]() {
output->SetInnerHTML("Mouse over button!");
});
button->AddMouseOutListener([&]() {
output->SetInnerHTML("Mouse left button!");
});
// Focus/Blur events
input->AddFocusListener([&]() {
output->SetInnerHTML("Input focused!");
});
input->AddBlurListener([&]() {
output->SetInnerHTML("Input blurred!");
});
// Keyboard events
input->AddKeyDownListener([&]() {
output->SetInnerHTML("Key pressed in input!");
});
input->AddKeyUpListener([&]() {
output->SetInnerHTML("Key released in input!");
});
// Input/change events
input->AddInputListener([&]() {
output->SetInnerHTML("Input value changed!");
});
input->AddChangeListener([&]() {
output->SetInnerHTML("Input value changed and lost focus!");
});
// Context menu
button->AddContextMenuListener([&]() {
output->SetInnerHTML("Context menu opened!");
});
// Scroll event on body
body->AddScrollListener([&]() {
output->SetInnerHTML("Page scrolled!");
});
// Resize event
body->AddResizeListener([&]() {
output->SetInnerHTML("Window resized!");
});
// Load event
body->AddLoadListener([&]() {
output->SetInnerHTML("Page loaded!");
});
// Error event
body->AddErrorListener([&]() {
output->SetInnerHTML("An error occurred!");
});
}

View file

@ -0,0 +1,17 @@
{
"name": "main",
"configurations": [
{
"name": "executable",
"implementations": ["main"],
"target": "wasm32-wasi",
"debug" : true,
"dependencies": [
{
"path":"../../project.json",
"configuration":"lib-debug"
}
]
}
]
}

View file

@ -0,0 +1 @@
caddy file-server --listen :8080 --root bin/executable