kelo
/
event_target.go
31 строка · 801.0 Байт
1package godom
2
3import "gitverse.ru/metalcore/kelo/wrapper"
4
5type EventTargetValuer interface {
6wrapper.JSGetter
7
8AddEventListener(event string, handler wrapper.EventHandler)
9DispatchEvent(event string)
10RemoveEventListener(event string, handler wrapper.EventHandler)
11}
12
13type EventTarget struct {
14wrapper.JS
15}
16
17func NewEventTarget(v wrapper.JSValuer) *EventTarget {
18return &EventTarget{*wrapper.NewJS(v)}
19}
20
21func (e *EventTarget) AddEventListener(event string, handler wrapper.EventHandler) {
22e.GetJS().Call("addEventListener", event, handler.Handle())
23}
24
25func (e *EventTarget) DispatchEvent(event string) {
26e.GetJS().Call("dispatchEvent", event)
27}
28
29func (e *EventTarget) RemoveEventListener(event string, handler wrapper.EventHandler) {
30e.GetJS().Call("removeEventListener", event, handler)
31}
32