
This patch adds the EventTarget class and makes Node inherit from it. You can register event listeners on an EventTarget, and when you call dispatch_event() on it, the event listeners will get invoked. An event listener is basically a wrapper around a JS::Function*. This is pretty far from how DOM events should eventually work, but it's a place to start and we'll build more on top of this. :^)
19 lines
321 B
C++
19 lines
321 B
C++
#include <LibWeb/DOM/EventListener.h>
|
|
#include <LibWeb/DOM/EventTarget.h>
|
|
|
|
namespace Web {
|
|
|
|
EventTarget::EventTarget()
|
|
{
|
|
}
|
|
|
|
EventTarget::~EventTarget()
|
|
{
|
|
}
|
|
|
|
void EventTarget::add_event_listener(String event_name, NonnullRefPtr<EventListener> listener)
|
|
{
|
|
m_listeners.append({ move(event_name), move(listener) });
|
|
}
|
|
|
|
}
|