Skip to content

Web API package for use when compling Go to WASM

Notifications You must be signed in to change notification settings

brettlangdon/go-dom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-dom

This package is a work in progress

The go-dom package exposes the Web API Spec as a Go package.

This package is mostly just wrappers around calls to syscall/js to expose the browser Web API in a Go friendly manner.

This package's code is generated from WebIDL definitions for the various Web API Specs.

Examples

These examples can be compiled and run using GOARCH=wasm GOOS=js as described at https://github.com/golang/go/wiki/WebAssembly

Find all div elements and print them to the console

package main

import (
    "github.com/brettlangdon/go-dom/console"
    "github.com/brettlangdon/go-dom/document"
)

func main() {
    nodes := document.QuerySelectorAll("div")
    for i := 0; i < nodes.GetLength(); i++ {
        console.Dir(nodes.Item(0))
    }
}

Add a click handler to document which prints the event information.

package main

import (
    dom "github.com/brettlangdon/go-dom"
    "github.com/brettlangdon/go-dom/console"
    "github.com/brettlangdon/go-dom/document"
)

func main() {
    loop := dom.NewLoop()

    document.AddEventListener("click", dom.NewEventHandler(func(evt dom.Event) {
        console.Dir(evt)
    }))

    loop.Loop()
}

This last example uses a dom.Loop which is used to keep the program running instead of exiting.

If the Go program exits then the callback handlers will no longer execute.

Calling loop.Stop() will cause the Go program to exit.

About

Web API package for use when compling Go to WASM

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages